【问题标题】:Convert HH:MM:SS to seconds in momentjs在 momentjs 中将 HH:MM:SS 转换为秒
【发布时间】:2015-04-20 10:39:21
【问题描述】:

我有一个只有12 小时格式的字符串

var time="12:10:12: PM"

我想将此字符串转换为秒。

我如何在moment.js 中做到这一点?

【问题讨论】:

  • 转换为秒是什么意思?仅显示秒部分,还是转换为自某个开始时间以来的总秒数?
  • 我要转换所有部分
  • 转换成什么?您无法将单个时间转换为秒。您需要一个起点和终点(一个范围)才能转换为秒。例如。 unix 时间将自 1970 年 1 月 1 日以来的任何日期/时间转换为秒。
  • 你想要 12 小时 10 分 12 秒作为秒吗?你的意思是期望的结果是 43200 秒 + 600 秒 + 12 秒 = 43812 秒?
  • 您可以使用 JavaScript 的 getTime 函数执行此操作,请参见此处stackoverflow.com/questions/3830244/…

标签: javascript jquery angularjs momentjs


【解决方案1】:

试试这样的:

moment('12:10:12: PM', 'HH:mm:ss: A').diff(moment().startOf('day'), 'seconds');

返回 43812

【讨论】:

  • 您使用哪个版本来执行此操作?好像 moment.js 2.16.0 它不接受您建议的字符串格式 - momentjs.com/docs/#/durations/creating
  • 答案已根据moment.js 2.1.0更新
  • @Joao 答案不起作用。你是说它只适用于 2.1.0?
  • @daveycroqet 答案已更新为在 moment.js 的当前版本中工作,即 2.19.1
  • @TravisCollins 将原始接受的答案保留与其相关的版本可能是一个更好的主意,然后也添加带有版本号的新答案,如果有的话,不是每个人都可以轻松升级他们的版本遗留代码等
【解决方案2】:

我只是想达到同样的目的。使用 https://momentjs.com/

这就是我想要的结果(03:11:23 => 11483 秒)

myVar = moment.duration(myVar).asSeconds()

【讨论】:

    【解决方案3】:

    对于 mm:ss 到秒

    myVar = moment.duration(`00:${'02:00'}`).asSeconds()//mm:ss to seconds
    

    【讨论】:

    • 您好,谢谢您的第一个回答。下次请尝试正确格式化您的代码! :)
    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    相关资源
    最近更新 更多