我必须找到时间戳格式(mysql db)
之前的天数$row['date_exp'] format is '2013-12-16 10:00:00';
$datenow = date("Y-m-d");
$diff = (strtotime($row['date_exp']) - strtotime($datenow))/(86400);
$days = sprintf("%02d", $diff);
我的问题是,如果现在日期为2013-12-01 09:59:00
,则日期为15
而datenow为2013-12-01 10:01:00
,日期为14。
我怎么能只在没有时间的日子里有所作为呢?
答案 0 :(得分:9)
使用DateTime
类:
$a = new DateTime('now');
$b = new DateTime('2013-12-16');
$a->diff($b);
返回
DateInterval Object
(
[y] => 0
[m] => 1
[d] => 24
[h] => 8
[i] => 3
[s] => 23
[invert] => 0
[days] => 54 // This is what you're looking for?
)
答案 1 :(得分:2)
只需取出日期组件即可。
$newDate = date("Y-m-d", strtotime($row['date_exp']));
现在这只包含日期组件。您可以使用它进行比较。
答案 2 :(得分:0)
单线:
echo (new DateTime('2019-12-17'))->diff(new DateTime())->days;
...返回自 或 直到 Dec 17, 2019
的天数。