将人类日期转换为unix时间戳


Convert a human date to unix timestamp

我有一个jQuery脚本,返回日期为:

2011年11月9日星期三16:30:00 GMT-0700 (MST)

如何将其转换为unix时间戳?我在看mktime(),但我不是完全理解它。什么好主意吗?

如果您使用的是PHP 5.2,请尝试DateTime类,例如

$dt = new DateTime("Wed Nov 09 2011 16:30:00 GMT-0700 (MST)");
$ts = $dt->getTimestamp();

否则,尝试strtotime(),例如

$ts = strtotime("Wed Nov 09 2011 16:30:00 GMT-0700 (MST)");
echo date("r", $ts);

对我来说,这输出

Thu, 10 Nov 2011 10:30:00 +1100

注意date()函数支持本地时区

我认为jQuery使用一个日期对象;相反,让脚本将Math.floor(theDate.getTime() / 1000)的值发送到PHP脚本。这就是您需要的Unix时间戳。

strtotime呢?

$test = strtotime('Wed Nov 09 2011 16:30:00 GMT-0700 (MST)');
echo $test;
output : 1320881400