【发布时间】:2016-12-06 16:08:38
【问题描述】:
我在使用时刻时区解析 Date 对象时遇到问题
问题
我正在创建一个 nodejs 应用程序,它应该使用数据库中的任意时间检查新的 Date() 对象(并采取相应的行动)。时间和时区保存在数据库中。
举例
time | timezone
11:00| US/Eastern
当调用 REST 时,我必须获取 new Date() 对象并将其转换为给定的时区,并查看当前时间是否晚于上午 9 点。但是服务器时区和持久时区不一样。
问题
我像这样创建今天的日期字符串
function getTodaysDate() {
var today = new Date(),
dd = today.getDate(),
mm = today.getMonth()+1,
yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
return yyyy +'-' + mm + '-' + dd;
}
并尝试使用时刻时区创建 Timestamp 对象
startTime = moment.tz(new Date(getTodaysDate() + ' ' + '11:00'), 'US/Eastern');
但框架正确地获取日期并将其转换到美国/东部时区。
所以当我打印 startTime.format();
我明白了
2016-08-01T07:00:00-04:00
我愿意
2016-08-01T11:00:00-04:00
那么有没有办法使用 moment-timezone 包来设置日期和时间并将它们视为给定的时区?
【问题讨论】:
标签: javascript node.js momentjs