在 javascript/moment js 中创建日期时忽略时区

我正在为东海岸的一些事情创建一个时间表,我需要创建一个总是返回这个时间的日期对象/时间戳的日期。

如果我18:00在巴黎打开这个页面 "new myDate()"会在12:00返回。

对于如何使用 withermoment JS 或者仅仅使用 Javascript 来实现这一点,有什么建议吗?最终结果应该是一个 javascript Date 对象。

112026 次浏览

您可以使用 moment.utc()处理 Moment.js。

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,因此在所有时区的输出都是相同的。

如果您希望完全忽略您的时区,可以使用以下方法:

  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