2015-11-16 3 views
3

Сейчас у меня этот код:Дата Progress Bar 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

Да. Он отображает 102, если я установил $ date на фактическую дату, не используя функцию даты PHP. @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 & \ пь \ зр; г: я: s') потому что это то же самое с $ сегодня.

+0

Спасибо. Мне нужно было добавить новый collum с датой начала работы. – LaughingQuoll