84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
有没有函数可以更优雅的实现给数字前面加0呢?比如
01 02 03 …… 07 08 09
给<10的数字前面加0,然后取出来的时候再把0去掉,我主要存取用户的生日年份,取出来在按yyyymmdd这种格式截取,然后再去掉0就可以了,有没有什么函数一部到位的呀?
业精于勤,荒于嬉;行成于思,毁于随。
http://www.w3school.com.cn/ph...
date('j');//一个月中的第几天,不带前导零(1 到 31)date('d');//一个月中的第几天(从 01 到 31)data('m');//月份的数字表示(从 01 到 12)date('n');//月份的数字表示,不带前导零(1 到 12)
如果是数字前自动补0,可以用sprintf$a = 1;echo sprintf("%02d", $a);//输出该数字,若十位、个位为空或0,自动补零$a = '01';echo sprintf('%d', $a);//去0
a=> ("0" + a).slice(-2) function addZ(a){ return ('0' + a).slice(-2); }
'2'.replace(/^(\d)$/,'0$1') '20160101'.replace(/(\d{4})(\d{4})/,function(a,b,c){return b + c.replace(/0/g,'')})
这样去零20161101和20160111结果一样!
自定义函数肯定可以做到,如果是2010-1-1这种格式,想变成2010-01-01 完整可以用时间格式化函数格式化的结果可以是2010-1-1也可以是2010-01-01,完全取决于参数
如果是1想在前面加0,那么就用自定义函数吧
function addzero($value){ if ($value<10){ return '0'.$value; } return $value; }
比如你有还有时间格式的string时间,先转换为date类型再调用date_format格式化一下,如下:
//获取或创建时间 $date = date_create_from_format('Ymd','20160908'); //转换时间,第二个参数详见文档 $str = date_format($date,"Y-n-j"); //输出没有0的结果 echo $str;//2016-9-8
php时间格式文档
str_pad()
lodash 的pad https://lodash.com/docs/4.17.... 具体实现方式 可以查看源代码
前不久刚看到的一个倒计时idea文章里有对补零操作的探讨,感兴趣的可以看一下你真的知道怎么用javascript来写一个倒计时吗 ?
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
该函数返回 input 被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度
str_pad();http://php.net/manual/en/func...解决你的问题
http://www.w3school.com.cn/ph...
date('j');//一个月中的第几天,不带前导零(1 到 31)
date('d');//一个月中的第几天(从 01 到 31)
data('m');//月份的数字表示(从 01 到 12)
date('n');//月份的数字表示,不带前导零(1 到 12)
如果是数字前自动补0,可以用sprintf
$a = 1;
echo sprintf("%02d", $a);//输出该数字,若十位、个位为空或0,自动补零
$a = '01';
echo sprintf('%d', $a);//去0
这样去零20161101和20160111结果一样!
自定义函数肯定可以做到,
如果是2010-1-1这种格式,想变成2010-01-01 完整可以用时间格式化函数格式化的结果可以是2010-1-1也可以是2010-01-01,完全取决于参数
如果是1想在前面加0,那么就用自定义函数吧
比如你有还有时间格式的string时间,先转换为date类型
再调用date_format格式化一下,如下:
关键参数说明
详细说明
php时间格式文档
str_pad()
lodash 的pad https://lodash.com/docs/4.17.... 具体实现方式 可以查看源代码
前不久刚看到的一个倒计时idea文章里有对补零操作的探讨,感兴趣的可以看一下
你真的知道怎么用javascript来写一个倒计时吗 ?
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
该函数返回 input 被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度
str_pad();
http://php.net/manual/en/func...
解决你的问题