【发布时间】:2016-05-09 13:43:58
【问题描述】:
我要求用户在我的应用程序中输入日期和时间。用户将根据他们所在的时区输入时间。当我将此日期和时间保存到我的数据库时,我想将时间转换为 UTC,以便当我按时间查询时(以 UTC 完成),我可以找到条目。
这是我目前所做的:
var date = new Date();
var dateString = "0" + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear() + " " + time;
//format date
date = moment(dateString, "MM/DD/YYYY HH:mm a");
date = new Date(date).toISOString();
其中时间是用户输入的时间(例如,如果我想在上午 11:00 安排某事,则时间 = 上午 11:00)
当它被保存到数据库时,它看起来像:
ISODate("2016-05-09T11:00:00Z") 这是不正确的,因为这是保存为祖鲁时间的 EST。
如何将时间(我正在使用时刻)转换为正确的祖鲁时间?
【问题讨论】:
-
既然手动调用了toISOString(),怎么会看起来不一样呢?
-
@RegisPortalez 看起来 toISOString() 并没有改变任何东西
-
这能回答你的问题吗? How do you convert a JavaScript date to UTC?
标签: javascript datetime momentjs datetime-format