Php 减去两个日期
Php subtract two dates
我正在从 mysql 数据库中获取 $status_date,当我回显 $status_date 时,它看起来像这样 -> 2016-01-08 22:18:14。我正在设置 $now,当我回显时它看起来像这样 -> 2016-01-08 22:43:27。我想从 $now 中减去 $status_date。这是我的代码:
$now = date("Y-m-d H:i:s");
$status_date = date("Y-m-d H:i:s",strtotime($row['status_date']));
$x = $now-$status_date;
$x returns 这个 -> 0
为什么不做减法?
日期不会这样减去。将两个日期转换为时间,相减,然后转换回日期。
$now = strtotime(date("Y-m-d H:i:s"));
$status_date = strtotime($row['status_date']);
$x = date($now-$status_date);
但是,如果您想要获取日期之间的时间,请考虑 moment 库。
根据http://php.net/manual/en/datetime.diff.php
检查我在这里写的这段代码:
https://eval.in/499594
<?php
$strStart = '2015-01-08 22:18:14'; // status date
$strEnd = 'now';
$dteStart = new DateTime($strStart);
$dteEnd = new DateTime($strEnd);
$dteDiff = $dteStart->diff($dteEnd);
print $dteDiff->format("%Y-%m-%d %H:%I:%S");
thre result is smth like : 01-0-0 00:38:42
您也可以使用类似的东西:
$now = new DateTime();
$status_date = new DateTime($row['status_date']);
$diff = $now->diff($status_date);
然后您可以将任何 dateInterval 属性或函数与 $diff 一起使用。
文档:http://php.net/manual/es/datetime.diff.php
http://php.net/manual/es/class.dateinterval.php
我正在从 mysql 数据库中获取 $status_date,当我回显 $status_date 时,它看起来像这样 -> 2016-01-08 22:18:14。我正在设置 $now,当我回显时它看起来像这样 -> 2016-01-08 22:43:27。我想从 $now 中减去 $status_date。这是我的代码:
$now = date("Y-m-d H:i:s");
$status_date = date("Y-m-d H:i:s",strtotime($row['status_date']));
$x = $now-$status_date;
$x returns 这个 -> 0
为什么不做减法?
日期不会这样减去。将两个日期转换为时间,相减,然后转换回日期。
$now = strtotime(date("Y-m-d H:i:s"));
$status_date = strtotime($row['status_date']);
$x = date($now-$status_date);
但是,如果您想要获取日期之间的时间,请考虑 moment 库。
根据http://php.net/manual/en/datetime.diff.php
检查我在这里写的这段代码: https://eval.in/499594
<?php
$strStart = '2015-01-08 22:18:14'; // status date
$strEnd = 'now';
$dteStart = new DateTime($strStart);
$dteEnd = new DateTime($strEnd);
$dteDiff = $dteStart->diff($dteEnd);
print $dteDiff->format("%Y-%m-%d %H:%I:%S");
thre result is smth like : 01-0-0 00:38:42
您也可以使用类似的东西:
$now = new DateTime();
$status_date = new DateTime($row['status_date']);
$diff = $now->diff($status_date);
然后您可以将任何 dateInterval 属性或函数与 $diff 一起使用。
文档:http://php.net/manual/es/datetime.diff.php http://php.net/manual/es/class.dateinterval.php