在业务中有时候会遇到时间倒计时,特别是电商类业务中的秒杀、抢购、预约等场景,所以就设计时间不足两位,前面补 0 的操作。
比如 2021-9-3 变成 2021-09-03。
function padLeftZero(n){
return n < 10 ? '0' + n : n
}
或者这样:
function padLeftZero(n){
return (n < 10 ? '0' : '') + i
}
其实上面两个方法都是一样的。
接下来再介绍几个骚操作方法:
slice()方法
语法:
slice(beginIndex) slice(beginIndex, endIndex)
beginIndex为负数时,取值改为str.length + beginIndex,例如:
beginIndex = -2,str = '010',最后 '010'.slice(3-2) 结果为 ’10’,此时若 str='03','03'.slice(0) 结果为 ’03’。
示例:
function padLeftZero(n){
return ('0' + n).slice(-2)
}
padStart()方法
语法:
padStart(targetLength) padStart(targetLength, padString)
就是在前面补足 padString,直到满足 targetLength 的长度。例如:
(3+'').padStart(2,'0') // 也就是 '3'.padStart(2,'0') , 目标长度是 2 则需要在前面补 0 来使长度满足,结果为 '03'。
示例:
function padLeftZero(n){
return (n + '').padStart(2,'0')
}

其他一些方法:
new Date().toISOString().slice(0,10) // "2021-09-03"
new Date().toLocaleDateString("default", {year: "numeric", month: "2-digit", day: "2-digit"}) // "2021/09/03"
结语
以上就是 javascript 如何对数字或字符串补 0 的方法,感谢阅读,如果对你有帮助,就点赞分享吧。
明天就是周末,我们的口号:周末不加班!不加班!祝大家周末愉快。