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 | 星期一至星期日或星期一至星期日 | 星期中的日子名称 |
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.html