0

だから私は今のところこのスクリプトを手に入れました:

<select class="n-select" name="heure-event" id="heure-event">
    <option selected="selected"></option>
    <?php
        for ( $heures = 0 ; $heures <= 23 ; $heures++ ){
            for ( $minutes = 0 ; $minutes <= 45 ; $minutes += 15 ){ 
    ?>
    <option value="<?php echo $heures.':'.$minutes;?>:00">
        <?php
            echo $heures.':'.$minutes;
        ?>
    </option>   
    <?php
            }
        }
    ?>                    
</select>

それは非常にうまく機能しますが、小さな問題:1:15、1:0など。

欲しい:01:15と1:00、

誰かが私を助けることができますか?私はおそらく、それ$i< 10追加されるかどうか、'0.$i'またはこのようなものかどうかを確認する必要がありますか?

4

4 に答える 4

5

使用するstrftime

<?php

$hour = 1;
$minute = 9;

echo strftime('%H:%M', mktime($hour, $minute)); // 01:09
于 2012-09-04T15:43:02.727 に答える
3

これは単なる表示の問題です。特に数値の場合は、「フォーマットされた」データを保存しないでください。

したがって...値については、1:15を保存しますが、01:15を表示します。

value="<?php echo "$heure:$minutes" ?>"><?php echo sprintf('%02d:%02d', $heures, $minutes) ?></option>

sprintf()

于 2012-09-04T15:43:46.243 に答える
0
                                <option value="<?php echo sprintf('%02d:%02d', $heures, $minutes) ?>:00"><?php echo sprintf('%02d:%02d', $heures, $minutes) ?></option>
于 2012-09-04T15:58:51.867 に答える
-3
$days = array('' => '');
for ($i = 1; $i <= 31; $i++)
{
    $days[$i] = $i;
}

$months = array('' => '');
for ($i = 1; $i <= 12; $i++)
{
    $months[$i] = $i;
}

$hours = array('' => '');
for ($i = 9; $i <= 18; $i++)
{
    $hours[$i] = sprintf('%02d', $i);
}

$mins = array('' => '');
for ($i = 0; $i <= 45; $i += 15)
{
    $mins[$i] = sprintf('%02d', $i);
}

$years = array(2012 => 2012, 2013 => 2013);

編集:おっと、質問を完全に読み間違えました、お詫びします。sprintf数値を正しくフォーマットするために使用するだけです。

$heures = sprintf('%02d', $heures);
$minutes= sprintf('%02d', $minutes);
<option value="<?php echo $heures.':'.$minutes;?>:00"><?php echo $heures.':'.$minutes;?></option>
于 2012-09-04T15:43:16.487 に答える