我有一个不关心时区的应用程序,只需要UTC时间。这意味着我的时间戳需要与UTC时间匹配。
我的目标是获取当天的2个UTC时间戳。假设UTC时间是6月21日13:04:47。
对于这个时间,我想获取6月21日当天00:00:00午夜的时间戳记,以及6月22日00:00:00之后24小时的时间戳记。这两次的时间戳分别为1466467200000和1466553600000。
这是我目前正在做的事情:
var today = new Date();
var todayStart = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 0, 0, 0));
var todayEnd = new Date();
todayEnd.setTime(todayStart.getTime() + (24 * 60 * 60 * 1000));
console.log("start of the day: " + todayStart.getTime())
console.log("end of the day: " + todayEnd.getTime());
这将返回正确的结果,但是我想知道这是否可靠,并且是完成我想要的事情的正确方法。感谢您的帮助。
您的操作方式可行,并且应该可靠。如果我写了它,我会做得有些不同。
var start = new Date(),
end;
// set midnight today
start.setUTCHours(0);
start.setUTCMinutes(0);
start.setUTCSeconds(0);
start.setUTCMilliseconds(0);
// set to midnight tomorrow
end = new Date(start);
end.setUTCDate(start.getUTCDate() + 1);
console.log("start of the day: " + start.getTime());
console.log("end of the day: " + end.getTime());
此代码将开始日期创建为当前日期/时间,然后将时间部分清零。然后,在24小时之后,只需创建一个副本Date
并将日期增加1就可以了。它确实需要更多的代码,但是它使您可以清楚地知道自己在做什么,并且在维护代码时可能更容易阅读和理解。未来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句