# Creating

URL: https://caijiao.org/dayjs/durations/creating
Source: docs/dayjs/durations/creating.md
Description: 使用Day.js的duration方法创建持续时间对象，以毫秒为单位，也可指定其他度量单位如天、周、月、年、小时、分钟、秒。可以传入单个单位和值或者多个不同单位和值的对象。Day.js还支持解析ISO 8601格式的持续时间。

要创建时长，则调用 `dayjs.duration()`，并以毫秒为单位。

> 这依赖 [Duration](/dayjs/plugin/duration) 插件，才能正常运行

```javascript
dayjs.extend(duration);

dayjs.duration(100); // 100 milliseconds
```

如果要使用毫秒以外的其他度量单位来创建时长对象，则也可以传入度量单位。

```javascript
dayjs.duration(2, "days");
```

## 支持的单位列表

| 单位           | 缩写 |
| -------------- | ---- |
| `days`         | `d`  |
| `weeks`        | `w`  |
| `months`       | `M`  |
| `years`        | `y`  |
| `hours`        | `h`  |
| `minutes`      | `m`  |
| `seconds`      | `s`  |
| `milliseconds` | `ms` |

如果需要同时传入多个不同的度量单位，则可以传入值的对象。

```javascript
dayjs.duration({
  seconds: 2,
  minutes: 2,
  hours: 2,
  days: 2,
  weeks: 2,
  months: 2,
  years: 2,
});
```

Day.js 也支持解析 ISO 8601 时长格式。

```javascript
dayjs.duration("P1Y2M3DT4H5M6S");
dayjs.duration("P1M");
```
