0

ブラウザで、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);

strtotime()PHP呼び出しは、一部のブラウザー(IE9など)によって返される日付文字列に対してfalseを返します。

これを達成するための代替方法はありますか?

4

3 に答える 3

3

strtotime代わりにタイムスタンプを渡すので、php側で使用する必要はありません。

var today = new Date();
var ts = today.getTime() / 1000;
于 2012-09-03T07:01:11.713 に答える
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 に答える
1

ずっとタイムスタンプとして送ってみませんか?

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

$todayTimestamp = $todayJsDateString;
于 2012-09-03T07:04:38.380 に答える