0

次のような文字列変数に日付が格納されていますSun Jun 02 08:54:12 EDT 2013。これを日付変数に変換して、現在の日付と提供された日付の時差を比較するにはどうすればよいですか。ありがとう!

4

1 に答える 1

5

このクラスを使用しDateTimeて、現在の日付をタイムストリングと比較します。オブジェクトを取得したらDateTime、メソッドを使用して簡単に違いを得ることができますDateTime::diff()。メソッドDateIntervalを使用して印刷できるオブジェクトを返します。format()

$dt = new DateTime('Sun Jun 02 08:54:12');
$now = new DateTime();

if($now > $dt) {
    $difference = $now->diff($dt);
    echo $difference->format('The time is %H hours %I minutes %S seconds in the past');
} else if ($now < $dt) {
    $difference = $dt->diff($now);
    echo $difference->format('The time is %H hours %I minutes %S seconds in the future');
} else {
    echo 'the time is now';
}

: もちろん、年、月、日の違いを追加で表示するように出力を拡張する必要があります。私は怠け者なので、例ではそれをしませんでした...ええと、例では文字列が長くなりすぎるためです... ;)

于 2013-06-02T23:32:00.903 に答える