モーメントオブジェクトはタイムゾーンを変換しません。私は日付と時刻のオブジェクトをUTCに変換しようとしていますが、元の日付/時刻をそのまま返します。誰がなぜこれが起こっているのか知っていますか? _dによるものではないにもかかわらず、元の時刻をUTCと仮定しているようですね。モーメントタイムゾーン変換が機能しない
momentPre = moment(post.date + " " + post.time + "00", "YYYY-M-D HH:mm:ss")
momentAft = momentPre.toISOString()
momentParse = moment.tz(momentAft, 'America/Denver')
post.utcDate = momentParse.clone().tz("UTC")._i.substring(0,10)
momentParseオブジェクト出力(_isUTCをテストし、問題を修正doesntの前に、私はこれをfalseに余儀なくされていないにもかかわらず、trueを返します。):momentParse.clone(から
{ [Number: 1506010200000]
_isAMomentObject: true,
_i: '2017-09-21T16:10:00.000Z',
_f: 'YYYY-MM-DDTHH:mm:ss.SSSSZ',
_tzm: 0,
_isUTC: true,
_pf:
{ empty: false,
unusedTokens: [],
unusedInput: [],
overflow: -1,
charsLeftOver: 0,
nullInput: false,
invalidMonth: null,
invalidFormat: false,
userInvalidated: false,
iso: true },
_locale: Locale { ordinal: [Function], _abbr: 'en' },
_a: [ 2017, 8, 21, 16, 10, 0, 0 ],
_d: Thu Sep 21 2017 04:10:00 GMT-0600 (MDT),
_z:
{ name: 'America/Denver',
abbrs
...
出力) .tz( "UTC")
{ [Number: 1506010200000]
_isAMomentObject: true,
_i: '2017-09-21T16:10:00.000Z',
_f: 'YYYY-MM-DDTHH:mm:ss.SSSSZ',
_tzm: 0,
_isUTC: true,
_offset: 0,
_pf:
{ empty: false,
unusedTokens: [],
unusedInput: [],
overflow: -1,
charsLeftOver: 0,
nullInput: false,
invalidMonth: null,
invalidFormat: false,
userInvalidated: false,
iso: true },
_locale: Locale { ordinal: [Function], _abbr: 'en' },
_z:
{ name: 'UTC',
abbrs: [ 'UTC' ],
untils: [ Infinity ],
offsets: [ 0 ] },
_a: [ 2017, 8, 21, 16, 10, 0, 0 ],
_d: Thu Sep 21 2017 10:10:00 GMT-0600 (MDT) }
タイムゾーンjsファイルを追加しました – Thusitha
はい、mrt:moment-timezoneパッケージを使用しています。 – Silicabello
私は、正確にあなたがusecaseの観点から達成したいことと、それがなぜ必要なのか、あなたの質問から正確には分かりません。 Meteor Collectionにフィールドを保存すると、デフォルトでUTCとして保存されます。違いはクライアント側で感じられます。タイムゾーンごとにクライアントが日付を正しく読み取ることができます。だから、なぜあなたはタイムゾーン変換が必要でしょうか?あなたが本当に必要なのであれば、その理由を説明してください。 –