javascript - 将分钟(字符串)转换为 ISO 8601 持续时间格式

标签 javascript

我总是以“90”的纯字符串格式存储我的 session 记录 90 分钟。我想将其转换为 schema.org 标准的 ISO 8601 持续时间格式。

例如“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));

输出:

PT0M
PT10M
PT1H30M
PT16H40M
PT6D22H40M

关于javascript - 将分钟(字符串)转换为 ISO 8601 持续时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52422974/

相关文章:

javascript - 使用 jQuery 处理 HTML 表的列

javascript - 如何在 Jasmine 中对以下功能进行单元测试?

javascript - 双击子菜单设备

javascript - 发送excel文件数据到Node.js服务器并解析成json

javascript - 如何向一个文件添加多个函数?

javascript - 如何使下拉菜单在悬停时保持打开并在离开时消失

javascript - 当上面的 it block 失败时如何不执行 it block

javascript - 使用 Web API 在 CRM 中添加新记录

javascript - JS 到文本模板引擎(类似 asp.net)

javascript - 在 URL 查询字符串之间调用 JavaScript 函数