Day.js 支持 JSON 格式的时间跨度解析(例如 14.06:10:36)

Day.js support for JSON formatted Timespan parsing (e.g. 14.06:10:36)

到目前为止,我一直在使用 Moment.js 从 REST API 解析 JSON 格式的时间跨度。 JSON 响应中的时间跨度采用非常常见的“dd.hh:mm:ss”格式(例如“14.06:10:36”表示 14 天 6 小时 10 分 36 秒)格式。

Moment.js 有一种简单的解析方法,但令我惊讶的是我找不到用 day.js 解析那些时间跨度字符串的方法。在大多数情况下,day.js 是 moment.js 的一个很好的替代品,它现在处于维护模式并且内存占用更大。

有什么我遗漏的吗,或者有没有办法用 day.js 解析时间跨度字符串?

有一个duration plugin。这可能就是您要找的。

您正在寻找 Dayjs durations。您可能想先使用正则表达式来解析它。

import dayjs from "dayjs";
import duration from "dayjs/plugin/duration";

dayjs.extend(duration);

const str = "14.06:10:36";

const groups = str.match(/(\d{2})\.(\d{2}):(\d{2}):(\d{2})/);


const dayjsDuration = dayjs.duration({
  days: parseInt(groups[1]!),
  hours: parseInt(groups[2]!),
  minutes: parseInt(groups[3]!),
  seconds: parseInt(groups[4]!)
})