将持续时间从秒数转换为 javascript 中的 ISO 格式

Convert duration form seconds to ISO format in javascript

我想将持续时间从秒数转换为 ISO 格式,如下所示:

 5400 => 'PT1H30M'

我试过:

var isoDuration = moment.duration(5400,'seconds').toISOString();
alert(isoDuration); 

但这行不通;在 Chrome 我得到这个错误:

Uncaught ReferenceError: moment is not defined

有什么想法吗?

您尝试使用的代码需要一个名为 Moment.js 的库,它可以减轻 JavaScript.

中处理本机 Date 对象的难度

您需要通过 <script> 标记包含 Moment.js 库才能执行此代码:

var isoDuration = moment.duration(5400,'seconds').toISOString();
console.log(isoDuration);
<!-- Include this tag somewhere *before* the code using `moment` runs -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

您需要包含 moment.js 库。

// HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>

// JS
var isoDuration = moment.duration(5400,'seconds').toISOString();
alert(isoDuration);

在行动:https://jsfiddle.net/w1e13Lne/

结果:

const t = new Date(1434343434 * 1000).toISOString();
console.log(t)