2015-11-16 94 views
3

我现在有这样的代码:日期进度条PHP

$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作为结果。我如何解决这个问题,使其显示完成百分比。

+0

您是否尝试过回显表达的部分以查看发生了什么? –

+0

是的。如果我将$ date设置为实际日期而不使用PHP日期函数,它会显示102。 @KaspervandenBerg – LaughingQuoll

+0

源代码中是否存在编码错误?在调用date()时缺少日期格式的单引号,并且在第一个回显行上缺少分号。 –

回答

2

试试这个代码,并使其适应你的脚本:

$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的不应立足于日期( 'YMJ & \ NB \ SP; G:我:S')因为这与$今日相同。

+0

谢谢。我确实需要在开始日期添加一个新的Collum来工作。 – LaughingQuoll