javascript中当前日期的毫秒数

时间:2014-05-23 06:43:45

标签: javascript date

当我尝试以下

new Date().valueOf() 

结果是140082670954.对于

new Date('05/23/2014').valueOf()

结果是1400783400000。

毫秒输出存在差异。第二个是在00:00:00,但第一个是在今天的日期中午12点。

我需要像第二个那样得到毫秒。我该如何动态地做到这一点?

2 个答案:

答案 0 :(得分:1)

当你这样做时:

new Date()

创建一个新的Date对象,其中包含当前时刻的时间值。当你这样做时:

new Date('05/23/2014')

在指定日期的00:00:00.000创建新的Date对象。如果你想使用构造函数的等价物,那么创建日期并适当地设置时间:

var d = new Date();
d.setHours(0,0,0,0);

NB

请不要将字符串传递给Date构造函数。它调用Date.parse,这在很大程度上取决于实现,并且跨浏览器不一致(甚至使用string format specified in ES5)。使用所需的值调用构造函数:

new Date(2014, 4, 23);

注意月份为零索引,因此May为4

答案 1 :(得分:0)

我认为你想要从某一天的午夜开始的毫秒?由于JavaScript非常有限的日期时间API,我担心它不会太简单。您可以从日期对象中提取年,月和日,并从以下项创建新对象:

var now = new Date();
var day = now.getDate();
var month = now.getMonth();
var year = now.getFullYear();

var today = new Date(year, month, day);

var millis = today.valueOf();
顺便说一句:你提到第一个"是在晚上12点" - 这取决于您执行语句的时间。 new Date()为您提供包含当前当地时间的日期。所以你似乎在大约中午12点尝试了它: - )