setFullYear()

来源:7-3 返回/设置年份方法

Hing

2014-12-11 23:04

为什么在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>


写回答 关注

6回答

  • 疯一般的小猪仔
    2018-03-04 14:45:40

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

    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);

  • linarcissus
    2017-11-07 23:52:51

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

  • Hing
    2016-10-28 16:01:27

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

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


  • 哎哟嘿_
    2016-03-19 11:22:44

    var mydate=new Date(); 

    var myyear=mydate.getFullYear( );

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

    getFullYear  是用来获取年份的


    Hing

    没get到我当初提问的点啊,哈哈

    2016-10-28 16:04:23

    共 1 条回复 >

  • 霞_霞
    2015-04-13 16:40:36

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

    Hing

    有返回值,没有返回值我不可能得到那个时间戳吧

    2016-10-28 16:02:24

    共 1 条回复 >

  • 熊猫终结者
    2014-12-13 22:07:15

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

    var mydate=new Date();

    mydate.setFullYear(204);

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


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题