0

在浏览器中,在 JS 中

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

我在 AJAX 调用中或作为 URL 的一部分将 todaySendToServer 发送到服务器。

在服务器上,在 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

有没有其他方法可以实现这一目标?

4

3 回答 3

3

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

var today = new Date();
var ts = today.getTime() / 1000;
于 2012-09-03T07:01:11.713 回答
1

为什么不将其作为时间戳一路发送?

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

$todayTimestamp = $todayJsDateString;
于 2012-09-03T07:04:38.380 回答
1

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

$todayJsDateString1 = preg_replace('#^(\d+)/(\d+)/(\d+)\s([\d:]+)\s([a-zA-z]{0,2})$#','$3-    $2-$1 $4 $5', $todayJsDateString); 
$todayTimestamp = strtotime($todayJsDateString1);
于 2012-09-03T06:59:58.670 回答