78

我正在为东海岸的某事创建一个时间表,我需要创建一个始终返回此时间的日期对象/时间戳的日期。

因此,如果我在 18:00 在巴黎打开页面,则"new myDate()"应该返回 12:00。

关于如何使用 wither momentJS 或仅使用 Javascript 来做到这一点的任何建议?最终结果应该是一个 javascript Date 对象。

4

2 回答 2

144

您可以使用 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,因此所有时区的输出都是相同的。

于 2012-11-09T20:47:21.057 回答
15

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

  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 
于 2014-01-29T11:13:28.137 回答