1

如何确定是否在 JavaScript Date 实例中指定了小时和分钟?

没有小时:分钟的日期对象:

var date = new Date('2013-03-15');
date.getHours();
> 1
date.getMinutes();
> 0

当我指定默认小时:分钟(01:00)时,返回似乎是相同的。

var date2 = new Date('2013-03-15 01:00');
date2.getHours();
> 1
date2.getMinutes();
> 0
4

1 回答 1

0

+1是因为应用了您的本地时区偏移量。奥斯陆是欧洲中部时间,因此从 UTC +1。

. getHours()根据本地时间返回指定日期的小时 (0-23) - 请参阅MDN 日期文档

您可以使用 。getUTCHours()改为返回非本地化时间。

或者,您可以.getTime()使用返回毫秒且不受时区影响的我们,然后除以86400000(一天中的毫秒数),如果您得到一个整数,则小时、分钟、秒都为 0。

例如:

d = new Date(2013, 2, 15)
if (d.getTime() / 86400000 % 1 === 0) // date is midnight

注意:从如何检查数字是浮点数还是整数?

于 2013-03-15T10:52:26.790 回答