【问题标题】:Convert duration form seconds to ISO format in javascript在javascript中将持续时间形式秒转换为ISO格式
【发布时间】:2017-07-31 11:51:06
【问题描述】:

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

 5400 => 'PT1H30M'

我试过了:

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

但这不起作用;在 Chrome 中我收到此错误:

未捕获的ReferenceErrormoment 未定义

有什么想法吗?

【问题讨论】:

  • 时刻未定义?你确定你已经正确地实现了这个库吗?
  • @MehulMohan 谢谢你的回复。你能告诉我如何使用这个库吗?
  • 只需在 html 中自定义 js 文件之前加载 momentjs

标签: javascript iso duration


【解决方案1】:

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

【讨论】:

  • 本网站上通常不赞成仅使用代码的答案。您能否编辑您的答案以包含一些 cmets 或对您的代码的解释?解释应回答以下问题:它有什么作用?它是如何做到的?它去哪儿了?它如何解决OP的问题?请参阅:How to anwser。谢谢!
  • 感谢@lukasz,这对我很有帮助,让我走上了正轨!
【解决方案2】:

您尝试使用的代码需要一个名为 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>

【讨论】:

  • 很高兴为您提供帮助!祝你项目的其余部分好运:)
【解决方案3】:

您需要包含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/

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    相关资源
    最近更新 更多