【问题标题】:Subtracting dates in PHP [duplicate]在PHP中减去日期[重复]
【发布时间】:2011-03-06 15:02:30
【问题描述】:

可能重复:
How to calculate the difference between two dates using PHP?

我有以YYYY-MM-DD HH:MM:SS 格式存储的时间戳(例如2010-06-21 20:12:56)。检查时间戳有多旧的最佳方法是什么?目前,我主要对天数感兴趣。

【问题讨论】:

    标签: php datetime date time timestamp


    【解决方案1】:

    您可以使用strtotime 将字符串转换为UNIX 时间戳,单位为秒。 time() 将为您提供当前的 UNIX 时间戳。减去它们可以得到日期的多少秒,然后除以60*60*24 得到它的天数

    使用DateTime::diff 也是可行的,尽管我发现日期函数比使用类更容易

    【讨论】:

    • 不要这样做,一旦 DST 发挥作用,你将惨遭失败:`` date_default_timezone_set("Europe/Amsterdam"); $d1 = strtotime("2013-10-27T00:00:00"); $d2 = strtotime("2013-10-28 00:00:00"); var_dump(($d2-$d1)/(60*60*24)); ``输出:双(1.0416666666667)
    【解决方案2】:
    $today = strtotime(date('Y-m-d H:i:s'));
    $expireDay = strtotime($row['ExpireDate']);
    $timeToEnd = $expireDay - $today;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 2019-05-04
      • 2015-01-03
      • 2014-10-01
      • 2012-10-13
      • 1970-01-01
      相关资源
      最近更新 更多