关于时间戳截取的隐藏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()
}

转载于:https://www.cnblogs.com/neilniu/p/9765368.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值