如何从 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 时间戳?的主要内容,如果未能解决你的问题,请参考以下文章