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