web-dev-qa-db-ja.com

javascript / momentjsで日付を作成するときにタイムゾーンを無視する

東海岸で何かのスケジュールを作成していますが、この時間の日付オブジェクト/タイムスタンプを常に返す日付を作成する必要があります。

したがって、パリで18:00にページを開くと、"new myDate()"は12:00を返すはずです。

MomentJSまたはJavascriptを使用してこれを行う方法に関する提案はありますか?最終結果はjavascript Dateオブジェクトでなければなりません。

57
kimpettersen

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を使用することにより機能します。したがって、出力はすべてのタイムゾーンで同じです。

110
timrwood

タイムゾーンを完全に無視したい場合は、次のアプローチを使用できます。

  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 
11
Roman Pushkin