-
DateTimeオブジェクトを使用した方法:
$datetime = new DateTime('2024-02-17 10:30:00'); $seconds_to_subtract = 60; // 減算する秒数 $datetime->modify("-$seconds_to_subtract seconds"); echo $datetime->format('Y-m-d H:i:s');
出力: 2024-02-17 10:29:00
DateTimeオブジェクトを作成し、
modify()
メソッドを使用して指定した秒数を減算します。最後にformat()
メソッドを使用してフォーマットされた日時を取得します。 -
strtotime関数を使用した方法:
$datetime = '2024-02-17 10:30:00'; $seconds_to_subtract = 60; // 減算する秒数 $timestamp = strtotime($datetime); $new_timestamp = $timestamp - $seconds_to_subtract; $new_datetime = date('Y-m-d H:i:s', $new_timestamp); echo $new_datetime;
出力: 2024-02-17 10:29:00
strtotime()
関数を使用して日時をタイムスタンプに変換し、指定した秒数を減算します。最後にdate()
関数を使用してフォーマットされた日時を取得します。 -
DateTimeImmutableオブジェクトを使用した方法 (PHP 7以降):
$datetime = new DateTimeImmutable('2024-02-17 10:30:00'); $seconds_to_subtract = 60; // 減算する秒数 $new_datetime = $datetime->sub(new DateInterval("PT{$seconds_to_subtract}S")); echo $new_datetime->format('Y-m-d H:i:s');
出力: 2024-02-17 10:29:00
DateTimeImmutableオブジェクトを作成し、
sub()
メソッドを使用して指定した秒数を減算します。元のオブジェクトは変更されず、減算結果が新しいオブジェクトとして返されます。
これらの方法を使用することで、PHPで日時から秒を減算することができます。どの方法を選ぶかは、プロジェクトの要件や好みによります。