使用Javascript检索UTC时间戳
我有一个应用程序,我不关心时区,只需要UTC时间。这意味着我的时间戳需要与UTC时间匹配 我的目标是获得当天的2个UTC时间戳。假设UTC时间是6月21日13:04:47 对于这一次,我想获得当天午夜的时间戳6月21日00:00:00和24小时后的时间戳6月22日00:00:00。这两个时间的时间戳分别为1466467200和146655600000 我现在就是这样做的:使用Javascript检索UTC时间戳,javascript,node.js,Javascript,Node.js,我有一个应用程序,我不关心时区,只需要UTC时间。这意味着我的时间戳需要与UTC时间匹配 我的目标是获得当天的2个UTC时间戳。假设UTC时间是6月21日13:04:47 对于这一次,我想获得当天午夜的时间戳6月21日00:00:00和24小时后的时间戳6月22日00:00:00。这两个时间的时间戳分别为1466467200和146655600000 我现在就是这样做的: var today = new Date(); var todayStart = new Date(Date
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小时后只需创建一个重复的
日期
,并将日期增加1。它确实需要更多的代码,但它可以明确说明您正在做什么,并且在将来维护代码时可能更容易阅读和理解。您的工作方式应该是可靠的。如果我写的话,我会做得有点不同
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小时后只需创建一个重复的
日期
,并将日期增加1。它确实需要更多的代码,但它明确了您正在做什么,并且在将来维护代码时可能更容易阅读和理解。我强烈建议不要为此使用本机日期对象
查看时刻
和时刻时区
——它们涵盖了您的所有使用案例:
您可以这样做:
moment().tz('Europe/Berlin').utc()
我强烈反对为此使用本机日期对象
查看时刻
和时刻时区
——它们涵盖了您的所有使用案例:
你可以这样做:
矩().tz('Europe/Berlin').utc()
你试过矩.js吗?在处理JS中的日期时,它是一个救命稻草:@MikeMcCaughan的可能重复项不是真正的重复项,这实际上是一个时间戳。这段代码已经演示了getTime
的知识。这个问题是问如何操作Date
对象来获取一天中特定时间的时间戳。这个问题的答案回答了这个问题。仍然需要4个人同意我的意见…你试过矩.js了吗?在处理JS中的日期时,它是一个救命稻草:@MikeMcCaughan的可能重复项不是真正的重复项,这实际上是一个时间戳。这段代码已经演示了getTime
的知识。这个问题是问如何操作Date
对象来获取一天中特定时间的时间戳。这个问题的答案回答了这个问题。还是需要4个人同意我的意见。。。