3 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
如果偏移考慮夏令時(shí),您應(yīng)該能夠執(zhí)行以下操作:
const the_date = '2020-11-05T15:00:00.000';
const offset = 2;
const utc_time = moment.utc(the_date).subtract(offset, 'hours');

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
目前尚不清楚您要嘗試轉(zhuǎn)換哪種方式。如果要將 UTC 轉(zhuǎn)換為固定偏移量,則可以使用該utcOffset
函數(shù),如下所示:
const?m?=?moment.utc('2020-11-05T15:00:00.000Z').utcOffset('+02:00'); m.format();??//=>?"2020-11-05T17:00:00+02:00"
或者 - 如果您嘗試從+02:00 進(jìn)行轉(zhuǎn)換,那么您將在輸入中包含該偏移量而不是Z
(Z 表示 UTC)。然后您只需調(diào)用該utc
函數(shù),如下所示:
const?m?=?moment('2020-11-05T15:00:00.000+02:00').utc(); m.format();??//=>?"2020-11-05T13:00:00Z"
但是您應(yīng)該注意偏移量與時(shí)區(qū)不同。一個(gè)時(shí)區(qū)可以有多個(gè)偏移量,其中一個(gè)偏移量將應(yīng)用于給定時(shí)間點(diǎn)。這些偏移量可能會(huì)因夏令時(shí)和標(biāo)準(zhǔn)時(shí)間的變化而變化。因此,要求用戶根據(jù)本地時(shí)間選擇“時(shí)區(qū)偏移值”是有問題的 - 因?yàn)槟赡軐⒃撈茟?yīng)用到錯(cuò)誤的時(shí)間點(diǎn)。
您還應(yīng)該了解Moment 的項(xiàng)目狀態(tài),并可能選擇不同的庫。

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
因此如果有人正在尋找答案,他們將有另一個(gè)選擇:
var moment? ? ? =? ?require('moment');
var time? ? ? ? =? ?"2020-11-05T15:00:00.000Z";
var timeoffset? =? ?"+02:00";
? ? time? ? ? ? =? ?moment.utc(time).local().format('YYYY-MM-DDTHH:mm:SS.000');
? ? time? ? ? ? =? ?moment(time, 'YYYY-MM-DDTHH:mm:ss.000').subtract(timeoffset).format('YYYY-MM-DDTHH:mm:ss.000') + 'Z';
添加回答
舉報(bào)