PHP strtotime 和 JavaScript Date.parse 返回不同的时间戳

标签 php javascript date datetime timestamp

我在 JavaScript 中得到相同的日期时间秒值,它由 PHP 中的 strtotime() 给出。但我在 JavaScript 中需要相同的值。

PHP 代码

echo strtotime("2011-01-26 13:51:50");
// 1296046310

JavaScript 代码

var d = Date.parse("2011-01-26 13:51:50");
console.log(d);
// 1296030110000

最佳答案

您需要使用相同的时区进行理智的比较:

echo strtotime("2011-01-26 13:51:50 GMT");
// 1296049910

var d = Date.parse("2011-01-26 13:51:50 GMT") / 1000;
console.log(d);
// 1296049910

更新

根据标准,只有 RFC 2822 格式的日期得到很好的支持:

Date.parse("Wed, 26 Jan 2011 13:51:50 +0000") / 1000

要生成这样的日期,您可以在 PHP 中使用 gmdate('r'):

echo gmdate('r', 1296049910);

关于PHP strtotime 和 JavaScript Date.parse 返回不同的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868066/

相关文章:

php - 在 PHP 中静态使用静态常量中的类名

javascript - Angular JS - 使用 Angular JS 指令时多个 ajax 调用会在模糊时触发

javascript - 如何检查数组是否包含多个元素?

python - 当使用列表找到某个值时,从行中提取多个值

python - 可以在Python的日期时间模块上仅指定年份吗?

javascript - Date( 'YYYY-MM-DD' ) 构造一个比指定晚一天的日期 (Javascript)

php - 为什么 PHP 转换 MySQL BIT(1) 值 b'0' to boolean ' true'

php - Laravel 不适用于 Ubuntu 16.04 VPS

php - 通过 Google Drive API 从本地 CSV 文件创建 Google Drive 电子表格

c# - 在鼠标移出时关闭 AJAX 控制工具包 BallonPopupExtender