js时间格式化,添加前导0,时间前面补0的方法

js时间格式化,添加前导0,时间前面补0的方法

今天的项目中判断时间大小竟然失效了,检查了一下发现是时间格式不一致,导致直接对比大小结果不正确。于是重新修正了一下,时间不足10的时候,在前面补0,让格式保持一致。

原来的代码:

let now = new Date();
let nowTime = ("" + now.getHours()).padStart(2, "0") + ":" + ("" + now.getMinutes()).padStart(2, "0") + ":" + ("" + now.getSeconds()).padStart(2, "0");
console.log(nowTime);
//输出结果是:9:36:5

输出结果是:9:36:5,而实际期待的输出结果是09:36:05,因此重新写了一下处理方法,并将它抽离成一个函数

function padZero(str, num = 2){
    return String(str).padStart(num, "0");
}

let now = new Date();
let nowTime = padZero(now.getHours()) + ":" + padZero(now.getMinutes()) + ":" + padZero(now.getSeconds());
console.log(nowTime);
//输出结果是09:36:05

终于得到了期待的结果了,而最终的时间判断也准确了。

function padZero(str, num = 2){
    return String(str).padStart(num, "0");
}

let now = new Date();
let nowTime = padZero(now.getHours()) + ":" + padZero(now.getMinutes()) + ":" + padZero(now.getSeconds());

let startTime = "08:00:00";
let endTime   = "20:00:00";

if(nowTime < startTime || nowTime > endTime){
    console.log("店铺打烊了,下次早点过来");
}else{
  console.log("店铺正常营业中");
}

add-zero.png

相关阅读