UTCまたはモーメントJSオブジェクトまたはDate()
オブジェクトまたはdatetime
を含むプレーンストリングのタイプ/フォーマットの入力変数を検出または変換できる方法はありますかモーメントJSオブジェクトの一般的な形式ですか?任意のjavascript datetime変数をmoment JSオブジェクトに変換するには
例:
"1509760983",
Date 2017-10-10T02:20:10.570Z,
Object { _isAMomentObject: true, _isUTC: false, _locale: Object, _d: Date 2017-11-04T02:17:33.747Z, _z: null },
"Sat, 04 Nov 2017 02:03:03 GMT",
"2017-11-04T02:20:14.896Z"
マイハック:
var offset = moment().utcOffset();
momentObj = moment(variable).utcOffset(offset);
私は、変数がある場合を除いて、データ内の任意の「ずれ」なしモーメントJSへの他のすべての形式を変換することができました既にDate()
オブジェクトです。
var offset = moment().utcOffset();
momentObj = (variable instanceof Date) ? moment(variable) : moment(variable).utcOffset(offset);
注:Date()
オブジェクトは、ブラウザのみで生成することができますので、現地のタイムゾーンに時間を変換するためにオフセットを追加する必要がないので。
このソリューションには、より良い(フェールセーフ)アプローチがありますか?
['moment.utc()'](http://momentjs.com/docs/#/parsing/utc/)を見てください:_デフォルトでは、現時点で解析と表示が行われます。 UTCで瞬間を解析したり表示したい場合は、 'moment()'の代わりに 'moment.utc()'を使うことができます。_ – VincenzoC
@VincenzoC req。どんな時刻形式であっても、現地時間ですべての入力 'datetime'を表示することです。それがオフセットを追加した理由です。 – Mikki
私はあなたがしようとしていることを完全に得ていません。スニペットやフィドルを提供できますか?とにかくモーメントオブジェクトをローカルモード(デフォルト)に変換する['local()'](http://momentjs.com/docs/#/manipulating/local/)関数を見てください。 [Local vs UTC vs Offset](http://momentjs.com/guides/#/parsing/local-utc-zone/)ガイドも参照してください。 – VincenzoC