如何使用dayjs判断Unix时间戳是否为当前日期?
问题原因
核心原因是Unix时间戳的单位不匹配:
- 你代码里的
date参数是秒级Unix时间戳 - dayjs直接接收数字类型入参时,默认按毫秒级Unix时间戳解析,所以你传入的
1631978008会被错误解析为1970年的日期,自然和当日日期对比返回false。
修复方案
两种可行写法二选一即可:
- 使用dayjs专门的秒级时间戳解析方法
unix()
const date = 1631978008; //当天日期为2021-09-18 const isToday = dayjs().isSame(dayjs.unix(date), 'day'); // 正确返回true
- 手动把秒级时间戳转为毫秒级再传入
const date = 1631978008; //当天日期为2021-09-18 const isToday = dayjs().isSame(date * 1000, 'day'); // 同样返回true
验证说明
你可以执行以下代码确认解析结果符合预期:console.log(dayjs.unix(1631978008).format('YYYY-MM-DD'))
输出结果为2021-09-18,和你标注的当日日期一致。
内容的提问来源于stack exchange,提问作者markWanka
相关产品推荐
相关产品推荐

