レポートからSQLへの合計値を取得しようとしています。行がSQLに入る最後の行よりも新しい場合にのみこれを発生させたいので、レポートにタグ付けされた日付と時刻を追加します。
例えば
141480128217,WRONG_PERFORMANCE,g3t3,19/01/2013 02:58pm
182483629803,WRONG_PERFORMANCE,g3t3,19/01/2013 03:01pm
108484044725,WRONG_PERFORMANCE,g3t1,19/01/2013 03:10pm
したがって、これをすでに実行していて、前に追加した最後の行が午後3時1分であった場合、「WRONG_PERFORMANCE」の合計は2でしたが、もう一度実行すると3にしますが、更新ごとに2倍にするので、最初の行は2になり、2番目は5になり、新しい行がない場合でも、次の更新は8(5 + 3)になります。これを回避するために、レポートの日付がSQLからの最後の更新よりも新しいことを確認したいと思います(各行の日付を追加し、前の日付を置き換えて、最後に追加される日付がSQLの日付)が、文字列であるため、正しく比較されません。どうすればこれを行うことができますか?私はいくつかの異なる方法を試しましたが、どこにも行きませんでした。
編集 私は以下を試しました:
$newDate = date("d/m/y/ h:i:s", strtotime("19/01/2013 01:42pm"));
そして結果を得ました:
01/01/70/ 12:00:00
私は次のように日と月を切り替えてみました:
$newDate = date("d/m/y h:i:s", strtotime("01/19/2013 01:42pm"));
そして、次のようになりました。
19/01/13 01:42:00
では、これをレポートでそのまま機能させるにはどうすればよいですか?!?
結果
$date = str_replace("/", "-", "19/01/2013 01:42pm");
$newDate = date("d/m/y h:i:s", strtotime("$date"));
echo $newDate;
正しい日付形式を返しました!