【问题标题】:Convert yyyy-mm-dd to JS timestamp将 yyyy-mm-dd 转换为 JS 时间戳
【发布时间】:2013-03-24 04:10:57
【问题描述】:

关于如何将时间戳转换为 yyyy-mm-dd 有很多问题,但我正试图以相反的方式进行。

我有一个格式为 2013-02-25 的日期数组,但我希望它们是 js 时间戳。

我有一个日期数组,例如 ["2013-02-25", "2013-02-22", "2013-02-21"],我试过了

new Date(dateArray[0]).getTime() / 1000;

但这给出了错误的结果,因为“2013-02-25”被转换为 1361750400,即 1970 年 1 月 16 日星期五 18:15:50 GMT

请对如何在 javascript 中执行此操作有任何建议?

【问题讨论】:

  • 442.80 等值与 yyyy-mm-dd 日期之间有什么关系?
  • 没有。您的日期显示为1361750400000(3 个额外的零)。这是一个正确的 JS 毫秒时间戳。 1361750400(不带零)是标准的 unixtimestamp,即 2013 年 2 月 25 日。
  • 对不起,我粘贴了错误的值,我编辑了我的问题以显示日期数组。另外,当我执行 console.log 时,它会输出 1361750400,所以我不确定 3 个额外的零去了哪里。
  • @James 你正在做 / 1000 ,这就是额外的 3 个零所在的位置。
  • 谢谢本杰明,我今天工作太久了,我的脑子都炸了。

标签: javascript datetime timestamp utc


【解决方案1】:

更新:问题已更新为使用此代码尝试解析日期。

你现在的问题是你做 new Date(dateArray[0]).getTime() / 1000; 。你不应该除以 1000。试试new Date(dateArray[0]).getTime()


我认为明显的解决方案是您错过的那个:

var date = new Date("2013-02-25")// contains Mon Feb 25 2013 02:00:00 

【讨论】:

  • @Kyle 谢谢,虽然实际上如果你要添加一个 MDN 链接,可能是描述构造函数正在做什么的链接:developer.mozilla.org/en-US/docs/JavaScript/Reference/…
  • Date.parse()Date 全局对象的方法,而不是构造函数。
  • @Kyle Date.parse 是构造函数接受日期字符串的工作方式:)
  • 我明白你的意思。 Firefox 4 是唯一支持 ISO-8601 子集的浏览器吗?还是其他浏览器支持?
猜你喜欢
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
相关资源
最近更新 更多