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

Puz*_*Boy 19 javascript php datetime timestamp date

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

PHP代码

echo strtotime("2011-01-26 13:51:50");
// 1296046310
Run Code Online (Sandbox Code Playgroud)

JavaScript代码

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

Ja͢*_*͢ck 24

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

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
Run Code Online (Sandbox Code Playgroud)

更新

根据该标准,只支持RFC 2822格式的日期:

Date.parse("Wed, 26 Jan 2011 13:51:50 +0000") / 1000
Run Code Online (Sandbox Code Playgroud)

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

echo gmdate('r', 1296049910);
Run Code Online (Sandbox Code Playgroud)