我正在使用此功能来获得墨西哥的夏令时。
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>
答案 0 :(得分:1)
“上周日4月$ year”被解析为“4月$年”(给出本月的第一个),然后计算相对于该月的“最后一个星期日”。如果你想要四月的最后一个星期天,那就说:“上周日 四月$ year”。有关详细信息,请参阅the documentation。
答案 1 :(得分:1)
究竟是什么意思?
$ahora =strtotime(date("d-m-Y"));
您构建基于字符串的日期,然后使用strtotime()将其重新转换为时间值(这是一个整数)。什么浪费CPU周期。 <怎么样
$ahora = time();
代替?