【问题标题】:One hour difference, but only for some dates一小时的差异,但仅限于某些日期
【发布时间】:2010-02-10 00:50:31
【问题描述】:

为什么在这些日期之间我得到 5,9.... 而如果我再使用一年,我得到 6 ????它只发生在 2008 年 3 月和 2008 年......为什么会有一个小时的差异???

<?php
 $from = '2008-03-04';
 $to = '2008-03-10';

 echo datediff($from,$to);

 $from = '2010-03-04';
 $to = '2010-03-10';

 echo datediff($from,$to);

 function datediff($from,$to)
 {
  $diff = strtotime($to) - strtotime($from);
  $diff = $diff/(60*60*24);
  return $diff;
 }
?>

【问题讨论】:

  • 我的猜测是 PHP,考虑到这是我所知道的唯一通用语言 strtotime 作为标准。库函数。

标签: php date datediff days


【解决方案1】:

【讨论】:

  • 是的,是 PHP 但我不知道是 PHP 错误还是 TIMESTAMP 错误
  • 两者都不是。事实上,2008 年 3 月 4 日午夜和 2008 年 3 月 10 日午夜之间只有 143 小时,而不是 144 小时。
  • 为什么?一天有24小时。为什么在那儿?
  • 不。正在进行 DST 更改的日子有 23 或 25 小时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 2023-01-25
相关资源
最近更新 更多