有没有办法在 Php 中计算 6 个月之后/之前的确切日期,同时考虑到月份中天数的动态变化,即考虑有些月份有 30 天,有些当然有 31 天和 28 天。我知道它可以用MySQL完成,但我想知道Php是否有选项。
提前谢谢。
您需要
date_create
、date_interval_create_from_date_string
和date_format
才能完成作业。
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('6 months'));
echo date_format($date, 'Y-m-d'); // 2000-07-01
使用面向对象:
添加
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P6M'));
echo $date->format('Y-m-d') . "n"; // 2000-07-01
减去
$date = new DateTime('2000-01-01');
$date->sub(new DateInterval('P6M'));
echo $date->format('Y-m-d') . "n"; // 1999-07-01
从当月获取 6 个月之前的日期:
echo date("F 1, Y", strtotime("-6 months"));