JSRUN 用代码说话

moment(String)

编辑教程

moment(String)

moment(String);

当从字符串创建 moment 时,需要首先检查字符串是否与已知的 ISO 8601 格式匹配,如果未找到已知的格式,则在降维到 new Date(string) 之前检查字符串是否与 RFC 2822 日期时间格式匹配。

var day = moment("1995-12-25");

注意,浏览器对于解析字符串的支持是不一致的。 因为没有关于应该支持哪种格式的规范,所以在某些浏览器中有效的格式在其他浏览器中可能无效。

为了在解析 ISO 8601 以外的字符串时获得一致的结果,应使用字符串 + 格式。

支持的 ISO 8601 字符串

ISO 8601 字符串需要日期片段。

2013-02-08  # 日历日期片段。
2013-W06-5  # 星期日期片段。
2013-039    # 序数日期片段。

20130208    # 基本的完整日期(短)。
2013W065    # 基本的星期、工作日(短)。
2013W06     # 仅基本的星期(短)。
2013050     # 基本的序数日期(短)。

还可以包括时间片段,与日期片段之间使用空格或大写字母 T 分隔。

2013-02-08T09            # 使用 T 分隔的小时时间片段。
2013-02-08 09            # 使用空格分隔的小时时间片段。
2013-02-08 09:30         # 小时、分钟的时间片段。
2013-02-08 09:30:26      # 小时、分钟、秒钟的时间片段。
2013-02-08 09:30:26.123  # 小时、分钟、秒钟和毫秒的时间片段。
2013-02-08 24:00:00.000  # 小时 24、分钟、秒钟、毫秒等于 0 表示第二天午夜。

20130208T080910,123      # 短的日期和时间,精确到毫秒,以逗号分隔。
20130208T080910.123      # 短的日期和时间,精确到毫秒。
20130208T080910          # 短的日期和时间,精确到秒钟。
20130208T0809            # 短的日期和时间,精确到分钟。
20130208T08              # 短的日期和时间,仅有小时。

任何的日期片段都可以有时间片段。

2013-02-08 09  # 日历日期片段和小时时间片段。
2013-W06-5 09  # 星期日期片段和小时时间片段。
2013-039 09    # 序数日期片段和小时时间片段。

如果包含时间片段,则还可以将 UTC 的偏移量包含为 +-HH:mm、+-HHmm、+-HH 或 Z。

2013-02-08 09+07:00            # +-HH:mm
2013-02-08 09-0100             # +-HHmm
2013-02-08 09Z                 # Z
2013-02-08 09:30:26.123+07:00  # +-HH:mm
2013-02-08 09:30:26.123+07     # +-HH

注意:在版本 2.3.0 中添加了对星期和序数格式的支持。

如果字符串与以上任何格式都不匹配,并且无法使用 Date.parse 进行解析,则 moment#isValid 将会返回 false。

moment("not a real date").isValid(); // false

RFC 2822 日期时间格式

在解析 RFC 2822 日期时间之前,将会清理字符串以删除所有的注释和换行符。 其他的字符虽然在格式上合法,但对创建有效的 moment 实例没有任何作用。

清理之后,该字符串会在以下使用空格分隔的部分中进行验证,全部使用英语:

6 Mar 17 21:22 UT
6 Mar 17 21:22:23 UT
6 Mar 2017 21:22:23 GMT
06 Mar 2017 21:22:23 Z
Mon 06 Mar 2017 21:22:23 z
Mon, 06 Mar 2017 21:22:23 +0000
  • 星期几(三个字母),后面跟随一个可选的逗号。(可选的)
  • 月份中的某天(1 或 2 位数字),后面跟随三个字母的月份和 2 或 4 位数字的年份。
  • 两位数字的小时和分钟,以冒号(:)分隔,后面可选地跟随另一个冒号和 2 位数字的秒钟。
  • 时区或偏移量采用以下格式之一:
  • UT : +0000
  • GMT : +0000
  • EST | CST | MST | PST | EDT | CDT | MDT | PDT : 美国时区*
  • A - I | K - Z : 军事时区*
  • 时间偏移 +/-9999

解析器还会确认星期(当包含时)与日期一致。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟