微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 dayjs 将格式化的时间 (HH:mm) 转换为整数

如何解决使用 dayjs 将格式化的时间 (HH:mm) 转换为整数

我目前正在使用 dayjs 库,并且我目前正在尝试将格式化的时间(例如 '02:00')转换为表示总分钟数的整数。在这种情况下,它将是 120。我正在尝试使用 dayjs 持续时间插件,但如果不传入整数,以下内容似乎不起作用。我的代码如下:

dayjs.duration('02:00').asMinutes()

然而这会返回 NaN。如果有人熟悉 dayjs 库,我将不胜感激任何指导。

解决方法

您可能需要使用正则表达式处理数据。 Duration 确实接受带有显式标签的对象,但使此操作更容易一些。

https://day.js.org/docs/en/durations/creating

const timeString = "2:00";
const h = timeString.match(/(\d{1,2}):\d+/)[1];
const hInt = parseInt(h);
console.log("Hours: " + hInt)

const m = timeString.match(/\d{1,2}:(\d+)/)[1];
const mInt = parseInt(m);
console.log("Minutes: " + mInt);

// dayjs.duration({ hours: hInt,minutes: mInt })

编辑:根据艾米的说法,这更高效、更简单:

const [h,m] = "2:00".split(":").map( val => parseInt(val) );
console.log("Hours: " + h)
console.log("Minutes: " + m);

// dayjs.duration({ hours: h,minutes: m})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。