2

重複の可能性:
日付形式を変換yyyy-mm-dd => dd-mm-yyyy

MySQLからデータを抽出し、それをPHPページに渡します。PHPページの一部はJavascriptタイムライングラフです。

json_encodeを使用して、クエリ結果をJavascriptタイムラインに必要な形式に変換しています。

ただし、json_encodeは次を出力します。

{"start":"2012-06-06 18:05:21", "content":"Start Date", }

タイムラインに必要な形式は

{"start": new Date(2010,7,23,23,0,0), 'content': "Start Date", }

json_encodeプロセスの前または一部として、出力を必要な形式に変換できますか?

4

3 に答える 3

4

一般的に言えば、データベースから値を取得した後、PHPでこれを行うのが最善です。

日付形式の変換yyyy-mm-dd=>dd-mm-yyyyの回答を参照し、http://php.net/dateに従ってパラメーターを調整します。

ただし、json_encode()は常に値を引用符で囲み、データにネイティブJavaScriptステートメントを含める方法がないため、希望どおりの処理を行うことはできません。

最善の策は、日付を。の形式の通常の文字列に変換することですMonth Day, Year Hours:Minutes:Seconds

New Date()その形式を理解できますNew Date(data.start)-JSONをプルした後にJavaScriptで実行します。

于 2012-12-28T14:29:16.653 に答える
3
$date = DateTime::createFromFormat('Y-m-d H:i:s', '2012-06-06 18:05:21'); // your original DTO
$newFormat = $date->format('Y,m,d,H,i,s'); // your newly formatted date ready to be substituted into JS new Date();
  unset($date);

$json = json_encode(["start" => $newFormat, 'content' => "Start Date"]);

JSではsmthを実行できます。に似ている:

var objectFromJSON = some_json_decode_procedure(); // decoding JSON to native object
var dateArray = objectFromJSON.start.split(','); // splitting string to elements for new Date()
objectFromJSON.start = new Date(dateArray[0], dateArray[1], dateArray[2], dateArray[3], dateArray[4], dateArray[5]); // resetting Date() object in the object
于 2012-12-28T14:38:51.863 に答える
0

次のような日付を作成できます

var date = new Date("2012-06-06 18:05:21"); 

その後、フォローしてみてください

data.addRow([new Date(date.getYear(),date.getMonth(),date.getUTCDate())]);
于 2012-12-28T15:16:19.857 に答える