簡體   English   中英

在moment.js中使用什么日期格式?

[英]What date format to use in moment.js?

我正在使用moment.js獲取UTC日期偏移量。

我有以下代碼,它給了我偏移量,但我收到警告"Deprecation warning: moment construction falls back to js Date"

var s = booking.booking_date_time.toString();
console.log(moment(s).parseZone(s).utcOffset());

上面的s變量設置為"Mon Jun 13 2016 08:00:00 GMT+1000 (AUS Eastern Standard Time)"

我知道要獲得警告,我需要在時刻指定日期格式,但我不確定日期格式應該是什么。 我試過這種格式"EEE MMM dd yyyy HH:mm:ss ZZ" ,但這不起作用。

Moment使用它自己的解析令牌集,它與其他庫不同。 因此,這里有一些錯誤的令牌。 此外,您需要指定GMT在字符串中,但使用[]將其轉義。

總結一下:

moment('Mon Jun 13 2016 08:00:00 GMT+1000', 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ').format()
"2016-06-12T17:00:00-05:00"

請注意,使用默認矩構造函數進行解析時,它將從指定的偏移量轉換為用戶的本地時間。

如果要保留固定偏移量,請使用parseZone:

moment.parseZone('Mon Jun 13 2016 08:00:00 GMT+1000', 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ').format()
"2016-06-13T08:00:00+10:00"

編輯:注意評論。 如果是日期,請直接傳遞。 我應該注意到這一點。

文件中所述: -

從字符串創建時刻時,我們首先檢查字符串是否與已知的ISO 8601格式匹配,然后如果找不到已知格式則返回到新日期(字符串)。

所以我建議你使用moment(new Date(booking.booking_date_time)) ,這將有效。 如果booking.booking_date_time是有效的日期對象

另請參閱時刻格式以更改為moment.js支持的不同格式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM