web-dev-qa-db-ja.com

PHP dateをjavascript日付形式に変換する

データの配列を出力するPHPスクリプト。これはjson_encode()関数を使用してJSONに変換されます。

私の問題は、配列内に日付があり、正しいJavaScript形式ではないことです。これをPHPそうですか?

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

上記の日付の代わりに、javascript関数の同等のものが必要です

新しいDate()

上記を出力すると、「2012年6月1日金曜日11:08:48 GMT + 0100(GMT夏時間)」と表示されますが、PHP日付が同じになるようにフォーマットすると、 javascriptはそれを拒否します。

誰でも助けることができますか?

19
LeeTee

おそらくタイムスタンプを使用する必要があります

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

次に、それをJavascriptの日付に変換します

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

Javascript DateクラスはISO 8601日付形式をサポートしているため、次のことをお勧めします。

<?php 
      date('c', $yourDateTime); 
      // or for objects
      $dateTimeObject->format('c');
?>

文書によると:フォーマット文字 'c'はISO 8601の日付(PHP 5)に追加)
例:2004-02-12T15:19:21 + 00:00

詳細については、 http://php.net/manual/en/function.date.php

8
Javlonbek

とても簡単です。

PHPコード:

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

JavaScriptコード:

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

非常に簡単です、私はこれを使用しています:

new Date("<?= date('Y/m/d H:i:s'); ?>");
1
Tiago Buzatto
$newticket['DateCreated'] = date('d-m-Y G:H', strtotime($phpDateVariable));
0
Scott Saunders

タイムスタンプをより正確にしたい場合は、now()の代わりにmicrotime()を使用する必要があります。

それはあなたに与えます:

echo round(microtime(TRUE)*1000);

ミリ秒のphpのjavascriptのようなタイムスタンプ。