关于时间戳截取的隐藏bug
之前写时间戳,要截取后六位
原写法:
function timeStamp() {
const date = new Date()
const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 // 月
const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() // 日
const hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() // 小时
const minu = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() // 分钟
const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() // 秒
return date.getFullYear() + month + day + hour + minu + seconds
}
看上去好像没有什么问题
然后这里有一个隐藏的问题
就是最后ruturn的时候关于date.getFullYear(),month ,day ,hour ,minu ,seconds, 它们用+相连,正常情况下应该是一串字符串,
然后,有时候会变成数字相加,
正确的写法如下:
function timeStamp() {
const date = new Date()
const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 // 月
const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() // 日
const hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() // 小时
const minu = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() // 分钟
const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() // 秒
return date.getFullYear().toString() + month.toString() + day.toString() + hour.toString() + minu.toString() + seconds.toString()
}