答案 0 :(得分:207)
date()
本身仅用于格式化,但它接受第二个参数。
date("F j, Y", time() - 60 * 60 * 24);
为了简单起见,我只需从unix时间戳中减去24小时。
现代的oop方法正在使用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()
)
答案 1 :(得分:129)
strtotime()
,与date("F j, Y", strtotime("yesterday"));
答案 2 :(得分:94)
多么容易:)
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