美文网首页工作生活
JS计算当日凌晨0时0分0秒

JS计算当日凌晨0时0分0秒

作者: Piszz | 来源:发表于2019-07-04 16:05 被阅读0次

js获取当日凌晨 00:00:00 时间

第一种: 根据时间戳计算 00:00:00 时间 (同样也可以根据求余来计算)
// 1. 获取当前时间戳 - 秒
var currTs = Date.now() / 1000

// 2. 获取日总秒数 = 时*分*秒
var dayTs = 24 * 60 * 60 

// 3. 求总天数,用parseInt,去掉小数位
var dayTotal = parseInt(currTs / dayTs)

// 4. 求出当日开始时秒数
var dayZeroTs = dayTotal * dayTs

// 以为结束了? No, 记得去掉减去时差
// 5. 去掉时差(返回的是分),需要转成秒
var offset = new Date().getTimezoneOffset() * 60  // -480

// over~ 得到了今日凌晨的秒数,转换日期需要换成毫秒数
var zeroDate = new Date((dayZeroTs + offset) * 1000)
console.log(zeroDate)


// 简写
var d = new Date()
var ts = 86400
var date = new Date(((parseInt(d.getTime() / 1000 / ts) * ts) + (d.getTimezoneOffset() * 60))*1000)

console.log(date)
第二种:直接修改时分秒
// 1. 获得当前时间
var date = new Date()
// 2. 时分秒归零
date.setHours(0)
date.setMinutes(0)
date.setSeconds(0)

console.log(date)

各有所好,哪种方式方便用哪种,第一种方式应该还能优化到更简洁

相关文章

网友评论

    本文标题:JS计算当日凌晨0时0分0秒

    本文链接:https://www.haomeiwen.com/subject/rylrhctx.html