JS中的Date对象获取时、分的范围是0~23和0~59
console.log(new Date().getHours()+':'+new Date().getMinutes())
//5:1
有时候我们需要的不是这种格式,这时候我们就可以用三目运算符,来获取我们需要的格式
const time = new Date()
const hour = time.getHours()/1
const min = time.getUTCMinutes()/1
const timeHour = hour<0?'0'+hour:hour
const timeMin = min<0?'0'+min:min
console.log(timeHour+':'+timeMin)
//05:01
/1是为了转换为Nmuber类型,因为date获取的是String类型
在实际使用中,我们可以结合三目运算符做一个预计时间的小功能,例如
const time = new Date()
const hour = time.getHours()/1
const min = time.getUTCMinutes()/1
if(min+5>60){/* 实际时间+5,为预计时间,根据实际需要修改,预计实际超出60,则代表时间溢出 */
let timeHour = hour+1<10?'0'+hour+1:hour+1/* 溢出,时+1,小于10前面添0 */
let timeMin = min-55<10?'0'+min-55:min+5
/* 分获取溢出值,当前时间-55(当前时间+5-60),小于10前面添0 */
return timeHour+':'+timeMin
}else{/* 未溢出 */
let timeHour = hour<10?'0'+hour:hour/* 时不变,小于10前面添0 */
let timeMin = min+5<10?'0'+min+5:min+5/* 分+5,小于10前面添0 */
return timeHour+':'+timeMin
}
也可以不使用if,在三目运算符中套三目也可以实现,不过不推荐,虽然说代码量少了,但是不便于阅读