Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 准确计算两个日期之间的天数_Php_Date - Fatal编程技术网

Php 准确计算两个日期之间的天数

Php 准确计算两个日期之间的天数,php,date,Php,Date,嗯,这可能是一个石器时代的问题,但我在这里读了这么多问题后感到困惑 已经指出了一个使用strotime()的简单解决方案,但最后一条关于接受答案的时间更改的注释将我引向diff函数 很多链接都建议我使用diff函数,比如 但后来我看到了一个PHP bug,当涉及到第一天的日期时,diff会显示错误的值() 另外,在Windows平台()上,diff函数上的部分始终返回6015 我读了更多的链接,它们都以diff()函数结尾。这个问题有可靠的解决方案吗 注意:我使用的是PHP版本5.3.5如果

嗯,这可能是一个石器时代的问题,但我在这里读了这么多问题后感到困惑

  • 已经指出了一个使用
    strotime()
    的简单解决方案,但最后一条关于接受答案的时间更改的注释将我引向diff函数

  • 很多链接都建议我使用diff函数,比如

    • 但后来我看到了一个PHP bug,当涉及到第一天的日期时,diff会显示错误的值()

    • 另外,在Windows平台()上,diff函数上的部分始终返回6015

  • 我读了更多的链接,它们都以diff()函数结尾。这个问题有可靠的解决方案吗


    注意:我使用的是PHP版本5.3.5

    如果您不想使用datediff或StrotTime,另一个解决方案是使用
    getTimestamp
    并计算差异

    $datetime1 = new DateTime('13-03-01');
    $datetime2 = new DateTime('13-04-01');
    
    $datetime1TS = datetime1->getTimestamp;
    $datetime2TS = datetime2->getTimestamp;
    
    $interval = ($datetime2TS - $datetime1TS)/(60*60*24);
    

    但是我认为datediff更好。

    如果您既不想使用datediff也不想使用StrotTime,另一个解决方案是使用
    getTimestamp
    并计算差异

    $datetime1 = new DateTime('13-03-01');
    $datetime2 = new DateTime('13-04-01');
    
    $datetime1TS = datetime1->getTimestamp;
    $datetime2TS = datetime2->getTimestamp;
    
    $interval = ($datetime2TS - $datetime1TS)/(60*60*24);
    

    但我认为datediff更好。

    您的PHP版本中存在一个bug,这会使处理日期变得困难。您需要升级您的PHP版本。一旦你这样做了,这就变得微不足道了。@John所有版本的PHP都存在“bug”:我实际上指的是在5.3.6中修补过的另一个版本。(很确定这是第一个)看起来你已经做了相当多的研究。不知道为什么这是如此严重的否决(除了一般的元视图,PHP标记将在一个手推车中地狱)所以+1.5的家伙!只有当没有足够的研究时,才应该进行向下投票。我必须粘贴我所研究的问题的所有链接吗?您的PHP版本中有一个bug,它会使处理日期变得困难。您需要升级您的PHP版本。一旦你这样做了,这就变得微不足道了。@John所有版本的PHP都存在“bug”:我实际上指的是在5.3.6中修补过的另一个版本。(很确定这是第一个)看起来你已经做了相当多的研究。不知道为什么这是如此严重的否决(除了一般的元视图,PHP标记将在一个手推车中地狱)所以+1.5的家伙!只有当没有足够的研究时,才应该进行向下投票。我必须粘贴我所研究问题的所有链接吗?但是它将与strotime相同,与我在第一个中提供的链接进行比较。两者都将相同。但是它将与strotime相同,与我在第一个中提供的链接进行比较。两者都将相同。