【问题标题】:Converting datetime string into single unit of time (like seconds) in Javascript在Javascript中将日期时间字符串转换为单个时间单位(如秒)
【发布时间】:2018-04-04 17:36:14
【问题描述】:

我在将 Rails 中的时间戳转换为我可以在我的 Javascript 中使用的东西时遇到了很多麻烦。

具体来说,我设置了一个警报来显示事件发生的时间,它会生成一个像这样的字符串:2016-02-18T23:07:00.000-08:00。奇怪的是,这对我来说不像是 UTC 字符串(就像 answer outlines),而且我不知道那是什么时间格式。

我试过using this method:

  var t = "2016-02-18T23:07:00.000-08:00"
  var u = t.to_time 

但这会返回“未定义”。理想情况下,我想将此字符串在 Javascript 中转换为秒或毫秒。那可能吗?

【问题讨论】:

    标签: javascript ruby-on-rails datetime


    【解决方案1】:
    var t = "2016-02-18T23:07:00.000-08:00"
    var u = Date.parse(t);
    

    【讨论】:

    • 刚刚尝试了Date.parse,不幸的是它返回了NaN。字符串可能无法解析吗?
    • 我在这里尝试过:jsfiddle.net/8ra4j287。我认为您应该在计算之前转换为 Int。 var sec = Number(u);
    • 试一试。 var sec = Number(u) 也返回了 NaN。如果我弄清楚了,我会调查并报告。
    【解决方案2】:

    只需使用 Moment.js:

    moment('2016-02-18T23:07:00.000-08:00').format('LLL');
    

    返回:

    2016 年 2 月 19 日上午 8:07

    或者只是一个时间戳:

    Date.parse('2016-02-18T23:07:00.000-08:00');
    

    工作正常

    https://momentjs.com

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      相关资源
      最近更新 更多