如何确定JavaScript日期实例中是否指定了小时和分钟?
如何确定JavaScript日期实例中是否指定了小时和分钟 不含小时的日期对象:分钟:如何确定JavaScript日期实例中是否指定了小时和分钟?,javascript,date,Javascript,Date,如何确定JavaScript日期实例中是否指定了小时和分钟 不含小时的日期对象:分钟: 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(); >
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
+1是因为应用了本地时区偏移。奥斯陆是UTC的中欧时间so+1
.getHours根据本地时间返回指定日期内的0-23小时-请参阅
您可以使用.getUTCHours返回非本地化的小时数
或者,您可以使用.getTime返回毫秒,不受时区影响,然后除以一天中的86400000毫秒,如果得到一个整数,那么小时、分钟、秒都是0
例如:
d = new Date(2013, 2, 15)
if (d.getTime() / 86400000 % 1 === 0) // date is midnight
注意:借用的是来自的整数技巧,您不能,只能通过将其包装到可以跟踪该信息的自定义类中来解决这个问题。