我在两个单独的变量中有两个日期。第一个日期是帐户注册日期,第二个日期是帐户过期日期。我想创建一个进度条来显示剩余的剩余天数。 我做了以下,
PHP代码:
$date1 = strtotime("$reg_date");
$date2 = strtotime("$expire_date");
$today = time();
$num = $today - $date1;
$den = $date2 - $date1;
$percentage = ($today - $date1) / ($date2 - $date1) * 100;
echo"
<div id=\"progressbar\">
<div width=$percentage%></div>
</div>";
CSS代码:
#progressbar {
background-color: #99cc66;
width: 50%;
height: 20px;
border-radius: 10px;
}
它不工作,我不知道自己做错了什么。
我想要这样的照片,
答案 0 :(得分:1)
这有效:
PHP:
$date1 = strtotime("1 feb 2015"); // Register date
$date2 = strtotime("10 feb 2015"); // Expire date
$today = time();
$timePast = $today - $date1;
$duration = $date2 - $date1;
$completed = floor(($timePast/$duration)*100);
echo "<div id='progressbar'>";
echo "<div id='completed' style='width: ".$completed."% !important;'></div>";
echo "</div>";
使用楼层来回答问题。
CSS:
#progressbar {
width: 50%;
height: 20px;
border-radius: 10px;
border: solid 1px #000000;
overflow: hidden;
}
#completed {
position: relative;
height: 100%;
background-color: #99cc66;
}
栏由2个div组成:一个用于轮廓,一个用于实际进度(绿色位)。随着百分比增加(时间流逝),宽度也增加。内部div必须是position: relative
,因为它相对于父div。
答案 1 :(得分:0)
试试这个。希望它有效
<style type="text/css">
#progressbar div
{
background-color: #99cc66;
width: 50%;
height: 20px;
border-radius: 10px;
}
</style>
<?php
$date1 = strtotime("2014-09-05 11:44:01");
$date2 = strtotime("2015-09-07 23:44:01");
$today = time();
if ($today < $date1) {
$perentage = 0;
} else if ($today > $date2) {
$percentage = 100;
}
else {
$percentage = ($date2 - $today) * 100 / ($date2 - $date1);
}
?>
<div id="progressbar" style="border: 1px solid ; border-radius: 10px;">
<div style="width: <?php echo $percentage; ?>%;"><span><?php echo round($percentage,2); ?>%</span></div>
</div>