次の形式のPHP文字列があります:"[2012年11月23日金曜日20:00:18+0000]"
それからどれくらいの時間が経過したのか、1日5時間などと聞いてみたいのですが、どうすれば効率よくできますか?
ありがとう!!
できるよ
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->d;
?>
効率的な方法は、文字列をUNIXタイムスタンプに変換し、それに基づいてロジックを実行することです。
関数strtotimeは、文字列に対してunixtimeを返しました。関数timeは、現在の時刻に対してunixtimeを返します。どちらの関数も秒単位で時間を返します。あなたは猫がそれを差し引き、秒単位で間隔を取得します
<?php
$logtime = strtotime("Fri, 23 Nov 2012 20:00:18 +0000");
$interval = time() - $logtime;
printf("Interval is: %d hours, %d minutes, %d sec.",
$interval/3600, ($interval%3600)/60, $interval%60);
?>
$date = str_replace(array('[',']'),'',"[Fri, 23 Nov 2012 20:00:18 +0000]");
$diff = date_diff(date_create() , date_create($date));
echo $diff->format("Difference: %Y-%M-%d %H:%i:%s");