18

PHP の日時変数から 45 分を引く必要があります。

コード:

$thestime = '2012-07-27 20:40';
$datetime_from = date("Y-m-d h:i",strtotime("-45 minutes",strtotime($thestime)));
echo $datetime_from;

結果を返します2012-07-27 07:55

しかし、それはあるべき2012-07-27 19:55です。これを修正するにはどうすればよいですか?

4

1 に答える 1

44

やったほうがいい:

$datetime_from = date("Y-m-d H:i", strtotime("-45 minutes", strtotime($thestime)));

Hの代わりに、24 時間形式が使用され、先行ゼロで時間を表すことを意味h00ます23

詳細については、PHP 日付関数のドキュメントを参照してください。


これを行うには、次のようなより流暢なオブジェクト指向の方法もありますDateTime::sub

$datetime_from = (new DateTime($thestime))->sub(DateInterval::createFromDateString('45 minutes'))->format('Y-m-d H:i')

または、PHP の組み込みクラスCarbonを拡張するライブラリによって提供されるさらに表現力豊かな方法:DateTime

$datetime_from = (new Carbon($thestime))->subMinutes(45)->format('Y-m-d H:i');
于 2012-07-27T13:35:15.940 に答える