以零php为单位生成月份领先

时间:2013-04-13 04:47:00

标签: php generator

如何生成月份前导零,如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 } ?>  

输出网址仍为1-12。我希望它显示为01-12

5 个答案:

答案 0 :(得分:2)

使用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; ?>

答案 1 :(得分:1)

如何使用str_pad 它会用一个字符填充字符串&#39; 0&#39; 0长度为2。

<?php 
for($m = 1;$m <= 12; $m++) { 
  $month = str_pad($m, 2, '0', STR_PAD_LEFT);
}
?>

http://php.net/manual/en/function.str-pad.php

答案 2 :(得分:0)

<?php for($m = 1;$m <= 12; $m++){ $month =  date("F", mktime(0, 0, 0, $m)); if ($month < 10) $month = "0".$month; ?>

答案 3 :(得分:0)

使用sprintf()即可实现此格式

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

答案 4 :(得分:0)

尝试

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

m ”一个月的数字表示,前导零点到第12行