date()
自体はフォーマット専用ですが、2番目のパラメーターを受け入れます。
date("F j, Y", time() - 60 * 60 * 24);
単純にするために、Unixタイムスタンプから24時間を引くだけです。
最新のoop-approachは DateTime
を使用しています
$date = new DateTime();
$date->sub(new DateInterval('P1D'));
echo $date->format('F j, Y') . "\n";
またはあなたの場合(より読みやすく/明白)
$date = new DateTime();
$date->add(DateInterval::createFromDateString('yesterday'));
echo $date->format('F j, Y') . "\n";
(ここでDateInterval
が負なので、ここで add()
それをしなければなりません)
参照: DateTime::sub()
および DateInterval
strtotime()
、date("F j, Y", strtotime("yesterday"));
のように
とても簡単:)
date("F j, Y", strtotime( '-1 days' ) );
例:
echo date("Y-m-j H:i:s", strtotime( '-1 days' ) ); // 2018-07-18 07:02:43
出力:
2018-07-17 07:02:43