【问题标题】:How to convert 12 hours datetime to timestamp with javascript如何使用 javascript 将 12 小时日期时间转换为时间戳
【发布时间】:2016-03-01 00:40:18
【问题描述】:

我有一个格式为28/11/2015 09:41 PM 的日期时间,我想将其转换为纪元时间戳。我怎样才能用 javascript 做到这一点?

另外:我想从该时间戳中添加和减去 7200 秒,并将其转换回原始格式。我怎样才能做到这一点?是否需要先将日期时间转换为时间戳?

【问题讨论】:

    标签: javascript datetime timestamp unix-timestamp


    【解决方案1】:

    有一个很棒的库可用!

    http://momentjs.com/

    【讨论】:

      【解决方案2】:

      查找有关 JavaScript 内置对象的信息的好地方是 MDN,其中包含有关 datetime(或实际上只是 Date)对象的这篇文章 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)。

      从 Date 对象获取纪元时间戳的方法是使用 getTime() 函数。它返回自 1970 年 1 月 1 日以来的毫秒数。

      var dateNow = Date.now();
      var epochNow = dateNow.getTime();
      

      然后您可以添加秒数:

      epochNow += (7200 * 1000); // * 1000 because it's in milliseconds
      

      然后再转换回来:

      dateNow.setTime(epochNow);
      

      祝你好运!

      注意

      注意 JavaScript 日期实现中的不一致,尤其是在早期版本的 Internet Explorer 中。正如一些人所指出的,像 moment.js (http://momentjs.com/) 这样的好的库对于防止问题非常有帮助。但是,如果您只使用完全现代的浏览器或节点,则应该不会有那么多问题。

      【讨论】:

      • 我们不能简单地使用new Date(myDateString);吗? JavaScript不会直接创建日期对象吗?
      • 只要日期字符串的格式正确,就可以。然而,人们必须对什么格式是好的有一个很好的理解,并且浏览器之间存在一些不一致的地方。我发现 RFC 2822 时间戳 (tools.ietf.org/html/rfc2822#page-14) 是一致的。但是@Lenny 说他已经有了一个 datetime 对象,所以他不需要创建一个新对象。
      猜你喜欢
      • 2023-03-30
      • 2010-10-01
      • 2020-11-24
      • 2014-08-01
      • 1970-01-01
      • 2021-11-16
      • 2015-10-26
      • 2023-03-26
      相关资源
      最近更新 更多