PHP strtotime()为JavaScript Date字符串返回false

时间:2012-09-03 06:58:33

标签: php javascript date strtotime

在浏览器中,在JS中

var today = new Date()
todaySendToServer = today.toString();

我将今天的SendToServer发送到AJAX调用的服务器或作为URL的一部分。

在服务器上,在PHP中:

$todayJsDateString1 = preg_replace('#^(\d+)/(\d+)/(\d+)\s([\d:]+)\s([a-zA-z]{0,2})$#','$3-    $2-$1 $4 $5', $todayJsDateString); 
$todayTimestamp = strtotime(todayJsDateString1);

对于某些浏览器返回的日期字符串(如IE9),strtotime()PHP调用返回false

有没有其他方法可以达到这个目的?

3 个答案:

答案 0 :(得分:3)

改为传递时间戳,所以你甚至不需要在php端使用strtotime

var today = new Date();
var ts = today.getTime() / 1000;

答案 1 :(得分:1)

我猜这只是一个简单的错字,你错过了一个美元符号:

$todayJsDateString1 = preg_replace('#^(\d+)/(\d+)/(\d+)\s([\d:]+)\s([a-zA-z]{0,2})$#','$3-    $2-$1 $4 $5', $todayJsDateString); 
$todayTimestamp = strtotime($todayJsDateString1);

答案 2 :(得分:1)

为什么不把它作为时间戳一直发送?

var timestamp = new Date().getTime() / 1000;

$todayTimestamp = $todayJsDateString;