- 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
广告