Skip to content

parseDuration

将持续时间字符串解析为毫秒

820 bytes
since v12.6.0

使用方法

将人类可读的持续时间字符串(如”1 hour”,“2 seconds”)解析为毫秒。

import * as _ from "radashi";
_.parseDuration("1 second"); // => 1_000
_.parseDuration("1h"); // => 3_600_000
_.parseDuration("1 hour"); // => 3_600_000
_.parseDuration("1.5 hours"); // => 5_400_000
_.parseDuration("-1h"); // => -3_600_000

您可以改用 DurationParser 类,它对于重复解析更高效。

import { DurationParser } from "radashi";
const parser = new DurationParser();
parser.parse("1 hour"); // => 3_600_000
parser.parse("1ms"); // => 1
parser.parse("1.5 hours"); // => 5_400_000

默认支持的单位有:

  • millisecond(别名:ms
  • second(别名:s
  • minute(别名:m
  • hour(别名:h
  • day(别名:d
  • week(别名:w

默认不支持年和月,因为两者的长度都不同(例如闰年,不是所有月份都有 30 天)。请参见下一节了解如何添加自定义单位。

自定义单位

您可以向 parseDuration 函数传递额外的单位。

import * as _ from "radashi";
const customUnits = {
units: {
month: 30 * 24 * 60 * 60 * 1000,
},
short: {
mo: "month",
},
} as const;
_.parseDuration("1 month", customUnits);
// => 2_592_000_000