我似乎无法让这个工作。我已经尝试过在线样本,但没有一个是我需要的。基本上我希望能够显示从给定日期过去的天数。我的下面的示例是HTML和PHP的组合,由于某些原因,我不得不这样做。
<?php
$OldDate = strtotime($row['DateSigned']);
$NewDate = date('M j, Y', $OldDate);
?>
<b>Date Signed:</b> <?php echo $NewDate; ?>
<b>Days Since Signed:</b> <?php echo date_diff(strtotime($NewDate),Date("y/m/d")); ?>
这似乎失败了。Date("y/m/d")
是今天的日期。你能告诉我出了什么问题吗?
答案 0 :(得分:2)
这将有效:
<?php
$OldDate = strtotime("2015-10-21");
$NewDate = date('M j, Y', $OldDate);
$diff = date_diff(date_create($NewDate),date_create(date("M j, Y")));
?>
<b>Date Signed:</b> <?php echo $NewDate; ?>
<b>Days Since Signed:</b> <?php echo $diff->format('%R%a days'); ?>
答案 1 :(得分:1)
谢谢大家,我找到了一个更简单的解决方案(对于像我这样的初学者来说更简单):)
$now = time(); // or your date as well
$your_date = strtotime($NewDate);
$datediff = $now - $your_date;
$datediff
现在显示天数。
答案 2 :(得分:0)
使用date_diff,它需要一个DateTime对象而不是一个整数。这是一个让你到达目的地的例子
<?php
$OldDate = new DateTime('2009-10-11');
$now = new DateTime(Date('Y-m-d'));
print_r($OldDate->diff($now));
?>
此输出(截至本文发布之日)::
[y] => 6
[m] => 0
[d] => 14
[h] => 0
[i] => 0
[s] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 2205
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
答案 3 :(得分:0)
现在答复已经太迟了,还有其他好的答案,但是我想分享对我有用的东西。
date_default_timezone_set("Asia/Karachi");
$old_date = new DateTime('2018-12-01 04:10:58');
$now = new DateTime(Date('Y-m-d'));
$interval = $old_date->diff($now);
echo $interval->d.' days<br>';
// you can also get years, month, hours, minutes, and seconds
echo $interval->y.' years<br>';
echo $interval->m.' months<br>';
echo $interval->h.' hours<br>';
echo $interval->i.' minutes<br>';
echo $interval->s.' seconds<br>';
答案 4 :(得分:0)
下面的代码将为您提供与当前日期的日期差,希望对您有所帮助。
$date = $row['DateSigned'];
$diff = date_diff(date_create($date), date_create(date('Y-m-d')));
echo $diff->format("%a");
您将获得的结果是天数。
答案 5 :(得分:-1)
尝试使用时间戳。
$from = mktime(0,0,0,6,1,2015); // example old date
$to = time(); // now
echo round(($to - $from)/86400); // gives you elapsed days
86400是一天中的秒数。