
- MomentJS 教程
- MomentJS - 首頁
- MomentJS - 概述
- MomentJS - 環境設定
- MomentJS - 簡介
- MomentJS - 解析日期和時間
- MomentJS - 日期驗證
- MomentJS - Getter/Setter
- 操作日期和時間
- 格式化日期和時間
- MomentJS - 日期查詢
- MomentJS - 國際化
- MomentJS - 自定義
- MomentJS - 時長
- MomentJS - 工具函式
- MomentJS - 外掛
- MomentJS - 示例
- MomentJS 有用資源
- MomentJS - 快速指南
- MomentJS - 有用資源
- MomentJS - 討論
MomentJS - 字串
這將使用字串作為日期,並使用 moment 進行解析。
語法
moment(string)
觀察以下示例及其在向 moment 提供不同日期字串時的輸出。
示例 1
var day = moment("2017-04-15");
為了顯示日期,我們使用了 day._d 從 moment 獲取日期詳細資訊。
輸出

示例 2
var day = moment("2017-W10-5");
或者
var day = moment("2017W105");
請注意,在提供給 moment 的字串 "2017-W10-5" 中,W 代表星期。您可以觀察以下輸出,其中 W10 對應於 3 月份。
輸出

示例 3
var day = moment("2017-080");
或者
var day = moment("2017080");
這裡,字串 2017-080 是第 80 天,對應於 3 月 21 日,如下所示。
輸出

示例 4
var day = moment("2017-05-08T09");
或者
var day = moment("20170508T09");
這裡,字串 2017-05-08T09 提供給 moment,其中 T 後面的數字表示要顯示的小時。
輸出

示例 5
var day = moment("2017-06-08 06:30:26");
或者
var day = moment("20170608T063026");
我們還可以將小時、分鐘或秒傳遞給 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。

如果將相同的日期更改為如下所示,則輸出將為 false,如下所示:
var day = moment('05.25', 'YYYY-MM-DD').isValid();

您還可以根據需要格式化日期,如下面的示例所示:
示例 1
var day = moment('2018/05/25').format("YYYY-MM-DD");
輸出

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

示例 3
var day = moment("634", "Hmm").format("HH:mm");
輸出

示例
可以解析多個格式,其中格式以陣列形式傳遞,如下所示:
var day = moment("12-25-1995",["MM-DD-YYYY", "YYYY-MM-DD"]).isValid();
輸出

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