1

order というデータベース テーブルから date_purchased を使用して経過時間を作成しようとしています。私はできる限りdate_purchasedを取得していることを知っています

<?php echo zen_datetime_short($order->info['date_purchased']); ?>

04/20/2014 11:19:56 としてフォーマットされた日付と時刻を取得します。私は PHP が苦手で、これを学び始めたばかりですが、調査したことから、次のことを試しました。

<?php
$first  = $order->info['date_purchased'];
$second = new DateTime( 'Y-m-d H:i:s' );
$diff = $first->diff( $second );
?>

それから私はします

<?php echo $diff->format( '%H:%I:%S' ); ?>

残念ながら、私のエコーまでページがロードされ、その下に表示されるはずのすべてがロードされません。出力に分と秒のみを表示することをお勧めします。

ご協力いただきありがとうございます。サーバーでphp 5.3を使用しています。

4

2 に答える 2

0

私は zen-cart にはあまり詳しくありませんが、ドキュメントによると、zen_datetime_shortはパラメーターとして生の文字列を受け取るようです。

(私が思うに) これは、文字列を PHPDateTimeオブジェクトとして使用しようとしているため、スクリプトが失敗することを意味します。次のようにスクリプトを変更して、データベースから生のタイムスタンプをオブジェクトに変換しDateTime、より良い結果が得られるかどうかを確認できます。

$first  = new DateTime($order->info['date_purchased']);
$second = new DateTime();
$diff   = $first->diff($second);

echo $diff->format('%H:%I:%S') . "\n";
于 2014-04-20T17:27:45.653 に答える