# 字符串 + 格式

URL: https://caijiao.org/dayjs/parse/string-format
Source: docs/dayjs/parse/string-format.md
Description: 如果知道输入字符串的格式，您可以用它来解析日期。这依赖 CustomParseFormat 插件，才能正常运行。如果想解析包含本地化语言的日期字符串，可以传入第三个参数。

如果知道输入字符串的格式，您可以用它来解析日期。



```javascript
dayjs.extend(customParseFormat);
dayjs("12-25-1995", "MM-DD-YYYY");
```

如果想解析包含本地化语言的日期字符串，可以传入第三个参数。

```javascript
require("dayjs/locale/zh-cn");
dayjs("2018 三月 15", "YYYY MMMM DD", "zh-cn");
```

最后一个参数可传入布尔值来启用严格解析模式。 严格解析要求格式和输入内容完全匹配，包括分隔符。

```javascript
dayjs("1970-00-00", "YYYY-MM-DD").isValid(); // true
dayjs("1970-00-00", "YYYY-MM-DD", true).isValid(); // false
dayjs("1970-00-00", "YYYY-MM-DD", "es", true).isValid(); // false
```

如果您不知道输入字符串的确切格式，但知道它可能是几种中的一种，可以使用数组传入多个格式。

```javascript
dayjs("12-25-2001", ["YYYY", "YYYY-MM-DD"], "es", true);
```

## 支持的解析占位符列表

| 输入   | 例子               | 详情                    |
| ------ | ------------------ | ----------------------- |
| `YY`   | `01`               | 两位数的年份            |
| `YYYY` | `2001`             | 四位数的年份            |
| `M`    | `1-12`             | 月份，从 1 开始         |
| `MM`   | `01-12`            | 月份，两位数            |
| `MMM`  | `Jan-Dec`          | 缩写的月份名称          |
| `MMMM` | `January-December` | 完整的月份名称          |
| `D`    | `1-31`             | 月份里的一天            |
| `DD`   | `01-31`            | 月份里的一天，两位数    |
| `H`    | `0-23`             | 小时                    |
| `HH`   | `00-23`            | 小时，两位数            |
| `h`    | `1-12`             | 小时, 12 小时制         |
| `hh`   | `01-12`            | 小时, 12 小时制, 两位数 |
| `m`    | `0-59`             | 分钟                    |
| `mm`   | `00-59`            | 分钟，两位数            |
| `s`    | `0-59`             | 秒                      |
| `ss`   | `00-59`            | 秒，两位数              |
| `S`    | `0-9`              | 毫秒，一位数            |
| `SS`   | `00-99`            | 毫秒，两位数            |
| `SSS`  | `000-999`          | 毫秒，三位数            |
| `Z`    | `-05:00`           | UTC 的偏移量            |
| `ZZ`   | `-0500`            | UTC 的偏移量，两位数    |
| `A`    | `AM PM`            | 上午 下午 大写          |
| `a`    | `am pm`            | 上午 下午 小写          |
| `Do`   | `1st... 31st`      | 带序数词的月份里的一天  |
| `X`    | `1410715640.579`   | Unix 时间戳             |
| `x`    | `1410715640579`    | Unix 时间戳             |
