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

我也想不明白为什么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

正在回答

6 回答

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

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

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

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

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

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

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

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

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

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

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

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

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

举报

0/150
提交
取消

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

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