Click to See Complete Forum and Search --> : missing time format


zuzupus
06-18-2003, 06:53 AM
Hi,

i am trying to get time in format something like 08:00 and 08:05 but i am getting 08:0 and 08:5 from below script
anybody knows how to make this script more clear and precise as this code doesnt looks good too long
as it works fine after 5 min i.e. 08:10



<?
function fillDD($min, $max, $selected)
{
for($i=$min; $i<24; $i++)
{
for($j=$max; $j<60; $j+=5)
{

if($i == $selected && $j == $selected)
{
if ($i < 10) {
print("<option SELECTED value='$i:$j'>0$i:$j</option>\n");
} else {
print("<option SELECTED value='$i:$j'>$i:$j</option>\n");
}

}
else
{
if ($i < 10) {
print("<option value='$i:$j'>0$i:$j</option>\n");
} else {
print("<option value='$i:$j'>$i:$j</option>\n");
}
}
}//for($j)
} //for($i)
}
?>
<td nowrap>
<select name="time" size="1">
<option selected value="<?=date('H:i')?>"><? echo (date('H:i')); ?></option>
<? fillDD(8, 0, -1); ?>
</select>
</td>

thanks

pyro
06-18-2003, 07:34 AM
You can clean up your code considerable, and fix the problem by doing this:

<?PHP
function fillDD($min, $max, $selected) {
for($i=$min; $i<24; $i++) {
$i = sprintf('%02d', $i); # set $i to be padded with a 0's up to 2 characters
for($j=$max; $j<60; $j+=5) {
$j = sprintf('%02d', $j); # set $j to be padded with a 0's up to 2 characters
if($i == $selected && $j == $selected) {
print("<option SELECTED value='$i:$j'>$i:$j</option>\n");
}
else {
print("<option value='$i:$j'>$i:$j</option>\n");
}
}//for($j)
} //for($i)
}
?>
<td nowrap>
<select name="time" size="1">
<option selected value="<?PHP echo date('H:i'); ?>"><?PHP echo (date('H:i')); ?></option>
<?PHP fillDD(8, 0, -1); ?>
</select>
</td>

zuzupus
06-18-2003, 07:42 AM
thanks alot for your awesome knowledge

pyro
06-18-2003, 07:49 AM
:) Your welcome.