2

如何获取从 $startDate 开始的 31 天后的日期,其中 $startDate 是这种格式的字符串:YYYYMMDD。

谢谢你。

4

4 回答 4

6

strtotime会给你一个 Unix 时间戳:

$date = '20101007';
$newDate = strtotime($date.' + 31 days');

然后,您可以使用date将其格式化为相同的格式,如果这是您需要的:

echo date('Ymd', $newDate);
于 2010-10-07T17:04:23.803 回答
2

如果您使用的是 PHP 5.3:

$date = new DateTime('20101007');
$date->add(new DateInterval('P31D'));
echo $date->format('Y-m-d');

至少可以说,缺少 5.3 之前的日期功能。DateTime 的东西使处理日期变得更加容易。http://us3.php.net/manual/en/book.datetime.php

于 2010-10-08T05:56:19.707 回答
1

请注意,如果您希望下个月的日期相同,而不是每次正好 31 天,+1 个月也可以使用。

于 2010-10-08T05:16:39.530 回答
1
echo date('Y m d',strtotime('+31 Days'));
于 2012-12-19T21:18:43.550 回答