MomentJS - 字串



這將使用字串作為日期,並使用 moment 進行解析。

語法

moment(string)

觀察以下示例及其在向 moment 提供不同日期字串時的輸出。

示例 1

var day = moment("2017-04-15");

為了顯示日期,我們使用了 day._d 從 moment 獲取日期詳細資訊。

輸出

String

示例 2

var day = moment("2017-W10-5");

或者

var day = moment("2017W105");

請注意,在提供給 moment 的字串 "2017-W10-5" 中,W 代表星期。您可以觀察以下輸出,其中 W10 對應於 3 月份。

輸出

String Week

示例 3

var day = moment("2017-080");

或者

var day = moment("2017080");

這裡,字串 2017-080 是第 80 天,對應於 3 月 21 日,如下所示。

輸出

String March

示例 4

var day = moment("2017-05-08T09");

或者

var day = moment("20170508T09");

這裡,字串 2017-05-08T09 提供給 moment,其中 T 後面的數字表示要顯示的小時。

輸出

String Hour

示例 5

var day = moment("2017-06-08 06:30:26");

或者

var day = moment("20170608T063026");

我們還可以將小時、分鐘或秒傳遞給 moment,輸出如下所示:

輸出

String Moment

使用字串格式的 Moment

下表顯示了年、月、日的格式詳細資訊。

格式 示例 詳細資訊
YYYY 2018 顯示 4 位數年份
YY 18 顯示 2 位數年份
Q 1-4 顯示季度
M 或 MM 1-12 月份數字
MMM 或 MMMM Jan-Dec 或 January - December 月份名稱
D 或 DD 1-31 月份中的日期
Do 1st-31st 帶序數的月份中的日期
DDD 或 DDDD 1-365 一年中的日期
X 1598773566.565 Unix 時間戳
x 1598773566565 以毫秒為單位的 Unix 時間戳

下表顯示了星期、星期年和星期的格式詳細資訊:

輸入 示例 詳細資訊
gggg 2018 區域設定 4 位數星期年
gg 18 區域設定 2 位數星期年
w 或 ww 1-53 一年中的星期
e 0-6 星期幾
ddd 或 dddd Mon-Sun 或 Monday-Sunday 星期名稱
GGGG 2018 ISO 4 位數年份
GG 18 ISO 2 位數年份
W 或 WW 1-53 ISO 一年中的星期
E 1-7 ISO 星期幾

下表顯示了小時、分鐘、秒、毫秒的格式詳細資訊:

格式 示例 詳細資訊
H 或 HH 0-23 24 小時制時間
h 或 hh 1-12 12 小時制時間
k 或 kk 1-24 從 1 開始的 24 小時制時間
a A am pm 下午或上午
m 或 mm 0-59 分鐘
s 或 ss 0-59
S 或 SS 或 SSS 0-999 小數秒
Z 或 ZZ +12:00 相對於 UTC 的偏移量,格式為 +-HH:mm、+-HHmm 或 Z

您可以使用如下所示的命令檢查日期是否根據字串格式有效:

var day = moment('2018.05.25', 'YYYY-MM-DD').isValid();

正如您在下面顯示的輸出中觀察到的,這將返回 true,因為日期格式正確:YYYY、MM 和 DD。

String Six

如果將相同的日期更改為如下所示,則輸出將為 false,如下所示:

var day = moment('05.25', 'YYYY-MM-DD').isValid();
String False

您還可以根據需要格式化日期,如下面的示例所示:

示例 1

var day = moment('2018/05/25').format("YYYY-MM-DD");

輸出

String Format Date

示例 2

var day = moment('20170608T063026').format("YYYY-MM-DD HH:mm:ss");

輸出

String HHMMSS

示例 3

var day = moment("634", "Hmm").format("HH:mm");

輸出

String HHMM

示例

可以解析多個格式,其中格式以陣列形式傳遞,如下所示:

var day = moment("12-25-1995",["MM-DD-YYYY", "YYYY-MM-DD"]).isValid();

輸出

String Multiple Format

由於給定的日期與其中一個格式匹配,因此給出的輸出為 true。

momentjs_parsing_date_and_time.htm
廣告