在浏览器中,在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
有没有其他方法可以达到这个目的?
答案 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;