扫码关注官方订阅号
有没有函数可以更优雅的实现给数字前面加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...解决你的问题
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
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...
解决你的问题