-2

したがって、私のデータベースには、たとえば2012-09-1911:20:33で満たされた日時フィールドがあります。今、私は日時を取得しようとしています。

$blabla = $something->getDatetime();

その後、現在の時刻を表す新しいDateTimeを作成します

$now = new \DateTime("now");

そしてその後、私はこのようにそれらを減算したいです(しかしそれは機能しません)?

$test1 = strtotime($blabla);
$test2 = strtotime($now);
$diff = $test2 - $test1; 
echo $diff;

私の目的は、データベース内の永続的な日時を現在の時刻から差し引くことです...結果は秒単位で表示されるはずです...したがって、2012-09-19 11:22:22-2012-09-19 11:20:22 120(秒)に等しい。

また、UNIXタイムスタンプをデータベースに永続化しようとしましたが、残念ながら、フィールドタイプのタイムスタンプが存在しません。

4

2 に答える 2

0

回答を秒単位で表示したい場合は、タイムスタンプを差し引くだけです。-

$blabla = $something->getDatetime();
$now = new DateTime();
$seconds = $now->getTimestamp() - $blabla->getTimestamp();
于 2012-09-24T19:06:22.357 に答える
0
$blabla = $something->getDatetime();
$now = new \DateTime("now");
$diff = $now->diff($blabla);

$ diffはDateIntervalオブジェクトであることに注意してください。最終的な目的の結果を得るには、そのメソッドとプロパティを使用する必要があります。

于 2012-09-19T09:28:01.657 に答える