2012-09-03 105 views
0

在瀏覽器錯誤,在JSPHP的strtotime()返回的JavaScript日期字符串

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); 

的的strtotime()PHP調用返回的一些瀏覽器(如IE9)

返回日期字符串錯誤是否有實現這一目標的任何替代方法?

+0

你可以根據標準格式化你的字符串嗎?例如ISO8601 – mauris

+0

如何將JavaScript日期字符串格式化爲ISO8601?有沒有API? –

回答

3

傳遞時間戳來代替,所以你甚至不需要在PHP端使用strtotime

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

這只是一個簡單的拼寫錯誤我想,你錯過了一個美元符號:

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

它不適用於從IE9瀏覽器發送的JS日期字符串。謝謝 –

1

爲什麼不把它作爲一個時間戳一直髮送?

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

$todayTimestamp = $todayJsDateString; 
+0

謝謝,這對我很有用 –