Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “新日期(d)”与“新日期(+d)”之间的差异_Javascript_Date - Fatal编程技术网

Javascript “新日期(d)”与“新日期(+d)”之间的差异

Javascript “新日期(d)”与“新日期(+d)”之间的差异,javascript,date,Javascript,Date,我在代码中遇到了一个问题 两者的区别是什么 new Date(d) 及 其中d=新日期 第一个返回日期字符串 Tue Jan 07 2014 11:37:28 GMT+0000 (locale) 第二个应该以毫秒为单位返回unix时间戳 1389091048652 如果您记录它们,但第一个仍然是日期对象,而第二个只是数字 两者都是有效的,可以传递回新的日期 第一个返回日期字符串 Tue Jan 07 2014 11:37:28 GMT+0000 (locale) 第二个应该以毫秒为

我在代码中遇到了一个问题

两者的区别是什么

new Date(d)


其中d=新日期

第一个返回日期字符串

Tue Jan 07 2014 11:37:28 GMT+0000 (locale) 
第二个应该以毫秒为单位返回unix时间戳

1389091048652 
如果您记录它们,但第一个仍然是日期对象,而第二个只是数字

两者都是有效的,可以传递回新的日期


第一个返回日期字符串

Tue Jan 07 2014 11:37:28 GMT+0000 (locale) 
第二个应该以毫秒为单位返回unix时间戳

1389091048652 
如果您记录它们,但第一个仍然是日期对象,而第二个只是数字

两者都是有效的,可以传递回新的日期


两者的区别在于所执行的操作:

new Date(date)
通过解析日期对象的字符串表示形式来创建新的日期对象

根据通过将日期对象转换为数字而获得的时间戳创建新的日期对象

new Date(date.valueOf())
根据从日期对象获得的时间戳创建新的日期对象


效果是一样的,但这似乎表明第三种情况在我测试的所有浏览器上都是最快的。如果测试用例由于浏览器优化而出错,请通过修复它们并在此处进行评论来帮助

两者的区别在于所执行的操作:

new Date(date)
通过解析日期对象的字符串表示形式来创建新的日期对象

根据通过将日期对象转换为数字而获得的时间戳创建新的日期对象

new Date(date.valueOf())
根据从日期对象获得的时间戳创建新的日期对象


效果是一样的,但这似乎表明第三种情况在我测试的所有浏览器上都是最快的。如果测试用例由于浏览器优化而出错,请通过修复它们并在此处进行评论来帮助

+d将日期转换为时间戳。+d将日期转换为时间戳。JS日期的数字表示形式不是unix时间戳。秒vs毫秒。@Tomalak-这是一个时间戳,以毫秒为单位,来自epochCorrect。它不是unix时间戳,根据定义是秒。JS日期的数字表示不是unix时间戳。秒vs毫秒。@Tomalak-这是一个时间戳,以毫秒为单位,来自epochCorrect。它不是unix时间戳,根据定义是秒。