如何从 JS 中的 Y-m-d 日期获取 unix 时间戳?

Posted

技术标签:

【中文标题】如何从 JS 中的 Y-m-d 日期获取 unix 时间戳?【英文标题】:How to get unix timestamp from Y-m-d date in JS? 【发布时间】:2015-05-02 18:17:19 【问题描述】:

我有这个日期。 2014-11-15 php时间戳1415984400

如何在 javascript 中获取这个时间戳?

这些是我尝试的结果。

Date.parse('2014-11-15').getTime()/1000

错误:Date.parse(...).getTime 不是函数

Date.parse('2014-11-15')/1000

1416009600

new Date('2014-11-15').getTime() / 1000;

1416009600

没有一个能正确转换。

更新:-----

<?php echo date('Y-m-d H:i:s', '1416009600'); ?> 

结果:

2014-11-15 07:00:00

看起来像是 GMT 问题。 (这里是GMT+7) Javascript语言如何转换为unix时间戳?

【问题讨论】:

@Satpal 返回 1416009600 【参考方案1】:

JavaScript 正在返回正确的 GMT 结果,但您期待另一个时区。您必须自己修复结果。如果您可以信任 JavaScript 使用的任何设置来确定当地时间,您可以使用:

(New Date()).getTimezoneOffset()

此方法返回分钟,因此您需要将返回值乘以 60,然后再从 unix 时间戳中减去。

【讨论】:

(new Date(date_str).getTime() / 1000) + ((new Date()).getTimezoneOffset()*60) 谢谢。 :) 这不是真正的答案。 OP 中的格式将被某些浏览器(例如 IE 8)视为无效,某些浏览器(例如某些版本的 Chrome、Safari 和可能其他版本)将视为无效,而其他浏览器将视为 UTC。还有许多其他的 ECMAScript 实现可以做上述任何一种。

以上是关于如何从 JS 中的 Y-m-d 日期获取 unix 时间戳?的主要内容,如果未能解决你的问题,请参考以下文章

如何从今天的日期获取下个月的日期并将其插入我的数据库中?

我们如何从当前日期取回 12 个月的日期 [重复]

如何通过PHP函数来获取今日日期的时间戳?

如何从 Oracle 日期获取 unix 纪元?

如何使用 nodejs 的 node-datetime 库获取格式为 Y-m-d H:M:S 的当前日期时间?

如何将 Epoch 中的日期转换为 Javascript 中的“Y-m-d H:i:s”?