Php 日期进度条

Php 日期进度条,php,date,time,Php,Date,Time,我目前有以下代码: $date1 = strtotime($row["progress"]); $date2 = strtotime($time); $today = time(); $num = $today - $date1; $den = $date2 - $date1; $percentage = ($today - $date1) / ($date2 - $date1) * 100; echo "Current Completion Status:"; echo $percentage

我目前有以下代码:

$date1 = strtotime($row["progress"]);
$date2 = strtotime($time);
$today = time();
$num = $today - $date1;
$den = $date2 - $date1;
$percentage = ($today - $date1) / ($date2 - $date1) * 100;
echo "Current Completion Status:";
echo $percentage;
它应该做的是提供从今天到完成日期的进度状态。然后我将使用它创建一个进度条


然而,目前它显示为0%。我将这些测试值用于进度行。这是2015-11-17 12:00:00,是该格式的当前日期。所以我可以创建百分比。如上所述,结果显示为0。如何修复此问题以使其显示完成百分比。

尝试此代码并使其适应您的脚本:

$date = date('y-m-j&\nb\sp;g:i:s');

$date1 = strtotime('2015-03-12 00:00:00');
$date2 = strtotime('2015-12-17 00:00:00');
$today = time();

$dateDiff = $date2 - $date1;
$dateDiffForToday = $today - $date1;

$percentage = $dateDiffForToday / $dateDiff * 100;
$percentageRounded = round($percentage);

echo $percentageRounded . '%';

$date2不应以日期('y-m-j&\nb\sp;g:i:s')为基础,因为它与$today

相同。您是否尝试回显表达式的某些部分以查看发生了什么?是的。如果我不使用PHP date函数将$date设置为实际日期,它将显示102@Kaspervandenbergar您的源代码中是否存在编码错误?调用
date()
时,日期格式缺少单引号,第一个回显行缺少分号。@JonathanKuhn修复了错误。我再试了一次,但仍然得到了相同的结果。不需要
$date=date('y-m-j&\nb\sp;g:I:s')
如果您只是想用
strotime()
将其转换回来。只需使用
$date2=time()(但这不会改变您的结果)谢谢。我确实需要添加一个新的collum,它的开始日期是什么。