为了账号安全,请及时绑定邮箱和手机立即绑定

setFullYear()

为什么在chrome下,用setFullYear(2014)得到是1418310193647

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>获得年份 </title>

<script type="text/javascript">

var mydate=new Date(); 

var myyear=mydate.setFullYear(2014);     ;

document.write("年份:"+myyear);

</script>

</head>

<body>

</body>

</html>


正在回答

8 回答

你好,我在学习这里的时候也遇到了和你同样的问题,在搜索答案过程中看到了你的帖子,后面我查找了很多资料,也比较了我和其他教程上的写法

var mydate=new Date(); 

var myyear=mydate.setFullYear(2014);

document.write("myyear的值为:" + myyear + ",mydate的值为:"+ mydate);

以上输出结果为“myyear的值为:1393915149462,mydate的值为:Tue Mar 04 2014 14:39:09 GMT+0800 (CST)”

我的推测是我们在定义myyear的时候也许它并不是一个date对象,也许因此浏览器将其解析为毫秒的样子,从而显示出的样子为字符串的格式。也就是说我推断其实那些毫秒换算成时间就是我们设置的那个值。而mydate的显示结果大概类似于解析成mydate=mydate.setFullYear(2014);

0 回复 有任何疑惑可以回复我~

是有返回值的,这个返回值是一个毫秒数,是从1970年1月1日8点,到你设置日期的毫秒数

0 回复 有任何疑惑可以回复我~

我还是自己来回答这个问题吧,没想学习前端已经一年多了。

先说一下返回的1418310193647这个东西是一个时间戳,setFullYear()虽然是设置时间,但是也是有返回值的,返回设置时间的那个时间戳,所以得到了这个数字,通过简单的new Date(1418310193647)可以得到,我试这段代码的时间是14年晚上11点过3分,而且setFullYear(year,month,day)三个参数。


1 回复 有任何疑惑可以回复我~

var mydate=new Date(); 

var myyear=mydate.getFullYear( );

document.write("年份:"+myyear);

getFullYear  是用来获取年份的


0 回复 有任何疑惑可以回复我~
#1

Hing 提问者

没get到我当初提问的点啊,哈哈
2016-10-28 回复 有任何疑惑可以回复我~

setFullYear是设置时间的,不是获取时间,所以没有返回值

1 回复 有任何疑惑可以回复我~
#1

Hing 提问者

有返回值,没有返回值我不可能得到那个时间戳吧
2016-10-28 回复 有任何疑惑可以回复我~

既然你时设置时间,那么为什么又要复制给一个新的对象呢。这样就够了,你试试

var mydate=new Date();

mydate.setFullYear(204);

document.write("年份:"+mydate);


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

setFullYear()

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信