为什么我的PHP代码给出了以下代码的错误结果:
date_default_timezone_set('UTC');
echo date('d-m-Y');
正在工作和生产:
30-01-2013
但是这段代码:
date_default_timezone_set('UTC');
echo date('d-m-Y',strtotime("+1 month"));
正在制作这个日期:
02-03-2013
而不是:
28-02-2013
但是我只需要月份数。
答案 0 :(得分:7)
实际上是正确的。
今天是30-01
。 +1个月应为30-02
。此日期不存在,因此转为02-03
(28-02 + 2天)
答案 1 :(得分:3)
使用
解决http://derickrethans.nl/obtaining-the-next-month-in-php.html
代码:
echo date('d-m-Y',strtotime("first day of next month"));
因为我只需要月份编号。
答案 2 :(得分:2)
PHP开发人员here解释了这个问题。您可以使用解决方法,但是您必须解释您在1月31日+ 1月是2月02日得出的结论的逻辑。
答案 3 :(得分:0)
因为febuary只有28天。 strtotime +1月增加30天,尝试使用DateTime类:http://php.net/manual/en/class.datetime.php
答案 4 :(得分:0)
退房,
<?php
date_default_timezone_set('UTC');
//Current date
$date= date("Y-m-d");
// Timestamp of new date after adding 1 month
$timestamp= strtotime(date("Y-m-d", strtotime($date)) . "+1 month");
//Converting timestamp of new date to readable date.
$newdate= date("Y-m-d",$timestamp);
?>