我正在尝试使用以下函数获取一个月的范围:
static public function getMonthRange($month, $year)
{
$date = DateTime::createFromFormat('d-m-Y','01-'.$month.'-'.$year);
$start = $date->getTimestamp();
return array(
'start' => $start,
'end' => $date->modify('first day of next month')->getTimestamp()
);
}现在,除了3月份之外,它工作得很好。当我使用:((end - start) / 60 / 60 / 24)计算每个月的天数来检查这些值时,我发现3月份是30.958333333333天,而其他月份给出了正确的天数。
我决定自己输入日期,如下所示:
$march = ((strtotime('2012-04-01') - strtotime('2012-03-01')) / 60 / 60 / 24); //30.95833..
$april = ((strtotime('2012-05-01') - strtotime('2012-04-01')) / 60 / 60 / 24); //30
$may = ((strtotime('2012-06-01') - strtotime('2012-05-01')) / 60 / 60 / 24); //31它仍然给了我错误的三月份天数。我的方法有问题吗?更重要的是,我该如何解决这个问题?
提前谢谢。
发布于 2012-10-02 19:20:16
https://stackoverflow.com/questions/12689262
复制相似问题