【问题标题】:how to convert a specific/current date to unix timestamps or epoch timestamps in javascript? [duplicate]如何将特定/当前日期转换为 javascript 中的 unix 时间戳或纪元时间戳? [复制]
【发布时间】:2020-12-12 11:59:30
【问题描述】:

我是 javascript 的新手,对 javascript 中的 unix 时间戳有疑问。

假设日期是“2009/11/23”或“1890-03-12”或“1890-03-12 12:23:00”或通过“new Date()”的当前日期。

如何将这些日期转换为 unix 时间戳或纪元时间戳并详细说明?

我很困惑,不知道如何在 javascript 中将其转换为纪元时间戳?

【问题讨论】:

  • 将字符串解析为年、月和日的组成部分,然后使用 Date 构造函数和 getTime 方法:new Date(year, month - 1, day).getTime()。那将是毫秒,除以 1,000 得到秒。注意月份是零索引的,所以从日历月数中减去 1。不要使用内置解析器。

标签: javascript node.js date time


【解决方案1】:

unix 时间戳

 new Date('2020.08.24').getTime() / 1000

有关更多信息,请参阅文档

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

【讨论】:

  • 这应该是公认的答案,主要是因为它是正确的,但也因为它是完成工作的最简单方法,这对新用户来说非常重要。
  • 谢谢@daf !! ..接受答案。
  • @harshadkapei 但是当我在浏览器控制台中检查您的答案但使用不同的日期格式时,例如“new Date('2020/08/24').getTime() / 1000”或“new Date( '2020-08-24').getTime() / 1000" 我得到了不同的答案。我认为哪一个是正确的。请提出建议。
  • 看起来第二个在答案中包含时区偏移量,这可能是 RobG 警告它的原因。所以这里是大热门:如果你不只是为了学习,请查看像 moment 或 luxon 这样的库。如果您只是在这个阶段学习,那么您早就学到了重要的一课:JavaScript 日期很烂。
  • 我在浏览器中分别比较了 '2020.08.24' 格式日期值与 '2020/08/24' 和 '2020-08-24' 格式日期并得到了 '2020/08/24' 这个格式值相同。所以我建议你通过“2020/08/24”这个格式日期。
【解决方案2】:

您可能正在寻找 Date.parse (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse),它解析日期字符串以返回纪元时间戳。

【讨论】:

  • 仅仅发布对另一个网站的引用并不是一个答案,它可能是一个有用的评论。不鼓励使用内置解析器。
  • 对于 JavaScript 新手来说,这是最简单的答案。当有人只是想学习时,引入像 Moment 或 Lumen 这样重的东西是很疯狂的。此外,复制粘贴 MDN 文档也不会更清晰。
猜你喜欢
  • 2018-08-03
  • 2013-01-08
  • 1970-01-01
  • 2021-02-19
  • 2014-01-25
  • 2020-10-19
  • 2021-07-09
  • 1970-01-01
  • 2014-08-01
相关资源
最近更新 更多