chuckd Asked: 2025-01-06 08:04:08 +0800 CST2025-01-06 08:04:08 +0800 CST 2025-01-06 08:04:08 +0800 CST 如何将 Luxon 持续时间(秒)格式化为 toHuman(),同时显示分钟和秒? 772 我有一个以秒表示的时间(例如 25、30、60 或 94、315 等。使用 Luxon,我想像这样显示它 25 秒 30 秒 1 分钟 1 分钟 34 秒 5 分钟 15 秒 我该如何格式化 Luxon 来实现这一点? 这是我目前所拥有的但它不正确,因为它只显示秒。 {{duration.fromObject({ seconds: 315}).toHuman({ unitDisplay: "short" })}} 这只显示第 315 秒。我希望它显示:5 分 15 秒 我正在使用这些链接 link1 link2 angular 1 个回答 Voted Best Answer hoangdv 2025-01-06T10:19:48+08:002025-01-06T10:19:48+08:00 合并DateTime和Interval: 将值转换为Interval:Interval.fromDateTimes(DateTime.fromSeconds(0), DateTime.fromSeconds(315) 使用选项将间隔转换为持续时间units:interval.toDuration(['minutes', 'seconds'])//.toObject() => {minutes: 5, seconds: 15} 那么你的代码将如下所示: import { DateTime, Interval } from "luxon"; // ... {{Interval.fromDateTimes(DateTime.fromSeconds(0), DateTime.fromSeconds(315)).toDuration(['minutes', 'seconds']).toHuman({ unitDisplay: "short" })}}
合并
DateTime
和Interval
:将值转换为
Interval
:Interval.fromDateTimes(DateTime.fromSeconds(0), DateTime.fromSeconds(315)
使用选项将间隔转换为持续时间
units
:interval.toDuration(['minutes', 'seconds'])
//.toObject() => {minutes: 5, seconds: 15}那么你的代码将如下所示: