2012-05-31 36 views
15

データの配列を出力するPHPスクリプトがあります。これはjson_encode()機能を使用してJSONに変換されます。PHPの日付をjavascriptの日付形式に変換する

私の問題は私の配列内に日付があり、正しいJavaScript形式ではありません。 PHP内でこれをどのように変換できますか?代わりに、私はjavascript関数のequivilant

新しいDate()

I出力私が手の上に、以下の「金が必要rthe日付foは上記の

$newticket['ThreadID'] = $addticket; 
$newticket['Subject'] = $subject; 
//$newticket['DateCreated'] = date('d-m-Y G:H'); 

2012年6月1日11時08分48秒GMT + 0100(GMT夏時間) "ただし、PHPの日付を同じにする場合、javascriptはそれを拒否します。混乱...

誰でも手伝いできますか?

答えて

24

あなたはおそらくちょうど

// make sure to convert from unix timestamp 
var now = new Date(dateFromPHP * 1000); 
+0

javascriptの日付形式は次のとおりです。Fri Jun 01 2012 11:08:48 GMT + 0100(GMT夏時間)はタイムスタンプではありません – LeeTee

+1

いいえ、タイムスタンプを含む日付オブジェクトをインスタンス化する方法は複数あります:http:// www .w3schools.com/jsref/jsref_obj_date.asp –

+3

@LeeTee最も簡単で最も移植性の高いフォーマットはタイムスタンプで、これをあなたが望むものに変換することができます。 – jeremyharris

0
$newticket['DateCreated'] = date('d-m-Y G:H', strtotime($phpDateVariable)); 
+0

$ phpDateVariableはすでに上記の形式です。私はJavaScript形式にする必要があります金曜日2012年1月11日11時08分48秒GMT + 0100(GMT夏時間) – LeeTee

+0

PHPで日付を書式設定する方法を求めていますか?ドキュメントのフォーマットオプションを見てください:http://us.php.net/manual/en/function.date。php –

0

、あなたのタイムスタンプを持つより正確になりたい場合は、微小時間を使うべきその後のタイムスタンプ

$newticket['DateCreated'] = strtotime('now'); 

を使用するJavascriptの日付に変換する必要があります()の代わりにnow()を使用します。あなたを与える

:PHPでmilisecond、JavaScriptのようなタイムスタンプのために

echo round(microtime(TRUE)*1000); 

5

かなりシンプルです。

PHPコード:

$formatted_date = $newticket['DateCreated'] = date('Y/m/d H:i:s'); 

Javascriptのコード:

var javascript_date = new Date("<?php echo $formatted_date; ?>"); 
2

は非常に簡単です、私は使用この:

new Date("<?= date('Y/m/d H:i:s'); ?>"); 
1

JavascriptのDateクラスは、ISO 8601の日付フォーマットをとてもサポートしています私はお勧めします:

詳細については、00

:2004-02-12T15:21 + 00:19 フォーマット文字 'C' が
例(PHP 5で追加)ISO 8601日付:

ドキュメントは、と言いますhttp://php.net/manual/en/function.date.php

関連する問題