我正在为东海岸的某个事物创建时间表,并且需要创建一个始终为此时间返回日期对象/时间戳的日期。
因此,如果我在18:00在巴黎打开页面,"new myDate()"
则应返回12:00。
关于如何使用momentJS或仅使用JavaScript可以做到这一点的任何建议?最终结果应该是一个javascript Date对象。
Answers:
您可以通过使用moment.js来做到这一点moment.utc()
。
http://momentjs.com/docs/#/parsing/utc/
moment([2011, 10, 8, 5]).format(); // different output based on timezone
moment.utc([2011, 10, 8, 5]).format(); // same output for all timezones
moment.utc
工作方式是通过在内部设置一个标记来getUTCMinutes
代替getMinutes
,因此所有时区的输出都相同。
Date.utc(year, month, date, etc)
如果要完全忽略时区,可以使用以下方法:
var firstDayStr = '29 January 2014';
var startAtTime = '10:01:02 AM';
var localFormat = 'YYYY-MM-DD[T]HH:mm:ss';
var m = moment(firstDayStr + ' ' + startAtTime).format(localFormat);
console.log(m);
输出:
2014-01-29T10:01:02
new Date(moment.utc().add('minutes', -moment().zone()).unix() * 1000)
,但日期为5小时。