问答详情
源自:7-5 返回/设置时间方法

我也想不明白为什么var b=mydate.setTime(use + 2* 60 * 60 * 1000);这个就不行呢?

var mydate=new Date();

  document.write("当前时间:"+mydate+"<br>");

  var use=mydate.getTime();

  mydate.setTime(use + 2* 60 * 60 * 1000);

  

  document.write("推迟二小时时间:" + mydate);

显示结果:

当前时间:Thu Dec 25 2014 17:10:57 GMT+0800 (中国标准时间)
推迟二小时时间:Thu Dec 25 2014 19:10:57 GMT+0800 (中国标准时间)


这样的代码是可以的,var use=mydate.getTime();get/setTime() 返回/设置时间,getTime()返回时间是可以声明一个变量的,

但是setTime()就不可以呢?

var mydate=new Date();

  document.write("当前时间:"+mydate+"<br>");

  

 var b= mydate.setTime(mydate.getTime() + 2* 60 * 60 * 1000);

  

  document.write("推迟二小时时间:" + b);

显示结果:

当前时间:Thu Dec 25 2014 17:09:28 GMT+0800 (中国标准时间)
推迟二小时时间:1419505768480

提问者:云鬓花颜 2014-12-25 17:11

个回答

  • _tobeornottobe
    2017-02-12 14:00:40

    我觉得是进行了数值类型的默认转换,不知道理解的对不对。

  • _tobeornottobe
    2017-02-12 13:58:42

    我试了,也不行,我觉得楼上的解释不对

  • qq_Pal_0
    2015-11-05 11:28:42

    setTime()和getTime()的返回值都是从1970年到现在毫秒数。  你这个b就是把毫秒输出来了。 

    只有Date()对象本身其输出值才是正常的时间  也就是输出mydate

  • 流云行者
    2015-03-28 12:07:11

    首先,setTime改变的是这个mydate的值,然后我们再输出mydate看到被修改的时间,但是如果你输出b,相当于输出了函数setTime

  • blablabla
    2015-02-02 20:24:15

    前面那个输出的是mydate,后面这个输出b,相当于输出了mydate.setTime()。

  • 康振宁
    2014-12-25 18:21:04

    我这可以的啊,你把代码放在本地试试看?