我经常将我的分钟数以 "90" 的普通字符串格式存储。我想将其转换为ISO 8601持续时间格式,以符合schema.org标准。
例如, "90" 应该被转换为 PT1H30M。
我经常将我的分钟数以 "90" 的普通字符串格式存储。我想将其转换为ISO 8601持续时间格式,以符合schema.org标准。
例如, "90" 应该被转换为 PT1H30M。
如果要读取的间隔值不支持类似于PT90M这样的格式,您可以使用以下方法:
function MinutesToDuration(s) {
var days = Math.floor(s / 1440);
s = s - days * 1440;
var hours = Math.floor(s / 60);
s = s - hours * 60;
var dur = "PT";
if (days > 0) {dur += days + "D"};
if (hours > 0) {dur += hours + "H"};
dur += s + "M"
return dur;
}
console.log(MinutesToDuration("0"));
console.log(MinutesToDuration("10"));
console.log(MinutesToDuration("90"));
console.log(MinutesToDuration(1000));
console.log(MinutesToDuration(10000));
输出:
0分钟
10分钟
1小时30分钟
16小时40分钟
6天22小时40分钟