php日期提前1个月

时间:2011-03-29 01:41:08

标签: php date

我正在使用此功能来获得墨西哥的夏令时。

function horarioVerano() { 
$year  = date("Y"); 
$ahora = strtotime(date("d-m-Y"));   

$inicio_invierno = strtotime("last Sunday April $year");
//echo date('Y-m-d H:i:s', $inicio_invierno); 

$fin_invierno = strtotime("last Sunday November $year"); 
//echo date('Y-m-d H:i:s', $fin_invierno); 

if ($ahora > $inicio_invierno && $ahora <= $fin_invierno) 
   $num = 5; 
else 
   $num = 6;

return $num;

}

但是我总是得到上一个月的日期,如果我echo date("Y-m-d",$inicio_invierno)我得到2011-03-27而不是2011-04-24应该是这样,同样的任何其他月份我的walways得到上个月< / p>

2 个答案:

答案 0 :(得分:1)

“上周日4月$ year”被解析为“4月$年”(给出本月的第一个),然后计算相对于该月的“最后一个星期日”。如果你想要四月的最后一个星期天,那就说:“上周日 四月$ year”。有关详细信息,请参阅the documentation

答案 1 :(得分:1)

究竟是什么意思?

$ahora =strtotime(date("d-m-Y"));   

您构建基于字符串的日期,然后使用strtotime()将其重新转换为时间值(这是一个整数)。什么浪费CPU周期。 <怎么样

$ahora = time();

代替?