开发中日期时间使用容易引起的bug

开发中日期时间使用容易引起的bug

· 月份

new Date().getMonth() 获取的月份是从0开始算的,因此实际使用要+1

· 日期时间解析兼容

在ios系统中,如果日期格式使用 “-“,则解析获取日期时间会出现NaN,因为在ios中是无效日期格式。可以使用 “/” 替换 “-‘’ 解决。也可以使用 new Date(year, month, day) 构造函数

        // const str = '2012-1-16 00:00:00'
        const str = '2012-1-16 00:00:00'.replace(/-/g,'/')  //解决ios解析 date 不支持 - 号的问题
        const t = new Date(str)
        const y = t.getFullYear()
        const m = t.getMonth() + 1
        const d = t.getDate()
        alert(d)

· 注意单位转换

  • 问题:时间戳的单位通常是毫秒,但在某些情况下可能会误以为是秒。
  • 解决方案:确保在处理时间戳时,单位一致。如果需要转换,可以使用 Date.now() 获取毫秒级时间戳,或者 Math.floor(Date.now() / 1000) 获取秒级时间戳。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注