如何获取从 $startDate 开始的 31 天后的日期,其中 $startDate 是这种格式的字符串:YYYYMMDD。
谢谢你。
strtotime
会给你一个 Unix 时间戳:
$date = '20101007';
$newDate = strtotime($date.' + 31 days');
然后,您可以使用date
将其格式化为相同的格式,如果这是您需要的:
echo date('Ymd', $newDate);
如果您使用的是 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
请注意,如果您希望下个月的日期相同,而不是每次正好 31 天,+1 个月也可以使用。
echo date('Y m d',strtotime('+31 Days'));