2

のようなゼロで先行する月を生成するにはどうすればよいですか01-12

これが私のコードです:

<?php for($m = 1;$m <= 12; $m++){ $month =  date("F", mktime(0, 0, 0, $m));?>                               
<li><a href="<?php echo site_url('agenda/'.$tgl[0].'/'.$m);?>"><?php echo $month;?></a></li><?php } ?>  

出力 URL はまだ1-12です。として表示させたい01-12

4

6 に答える 6

3

使用するsprintf

<?php echo sprintf('%02d', $month); ?>

あなたのスニペットで

<?php for($m = 1;$m <= 12; $m++): ?>    
    <li>
        <a href="<?php echo site_url("agenda/${tgl[0]}/" . sprintf('%02d', $m)); ?>">
            <?php echo date("F", mktime(0, 0, 0, $m)); ?>
        </a>
    </li>
<?php endfor; ?>
于 2013-04-13T04:52:53.693 に答える
0

あなたを使用sprintf()すると、このフォーマットを実現できます。

<?php echo sprintf("%02d",$month); ?>
于 2013-04-13T04:51:38.997 に答える
0

試してみてください

$month = date('m',mktime(0, 0, 0, $m));  //HERE give 'm' option       

" m " 01 から 12 までの先行ゼロ付きの月の数値表現

于 2013-04-13T04:52:22.630 に答える
0

短くて速い: (sprintf は高価です)

    $month = ($m = date('m')) < 10 ? '0' . $m : $m;
于 2021-12-31T10:56:19.997 に答える