首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间差4-3月份错误值

时间差4-3月份错误值
EN

Stack Overflow用户
提问于 2012-10-02 19:15:08
回答 1查看 121关注 0票数 1

我正在尝试使用以下函数获取一个月的范围:

代码语言:javascript
复制
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天,而其他月份给出了正确的天数。

我决定自己输入日期,如下所示:

代码语言:javascript
复制
$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

它仍然给了我错误的三月份天数。我的方法有问题吗?更重要的是,我该如何解决这个问题?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-02 19:20:16

三个字:夏令时。

三月少了一个小时。

同样,您的函数也存在于PHP中:http://php.net/manual/en/function.cal-days-in-month.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12689262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档