时间对象date
日期格式化
<script>
// 创建日期对象,获取系统当前日期
let date = new Date()
// console.log(date); //该日期对象不符合我们的使用方法,所以需要进行格式化
// 我们需要从日期中提取需要的日期部分
let year = date.getFullYear()
let month = date.getMonth() + 1 //注意月 +1 因为从0开始 0~11
let day = date.getDate() // 当前月份的第几天
let xingqi = date.getDay() //星期几 0~6
let hour = date.getHours() // 0~23
let minute = date.getMinutes() // 0~59
let second = date.getSeconds() // 0~59
let arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
document.write(`当前是:${year}-${month}-${day} ${arr[xingqi]} ${hour}:${minute}:${second}`)
</script>
时间戳
概念:时间戳:当前日期距离 1970 - 1 - 1 ,0:0:0 的毫秒值
// 获取时间戳的三种方式
let date = new Date()
// 这两种需要先创建一个日期对象
console.log(date.getTime);
console.log(+new Date());
// Date.now()只能获取当前日期对应的时间戳
console.log(Date.now());
下班倒计时案例~~~~
<script>
// 获取元素
let hour = document.querySelector('#hour')
let minutes = document.querySelector('#minutes')
let second = document.querySelector('#second')
// 添加定时器
let timeId = setInterval(function () {
let date = new Date()
// 获取下班事件离当前时间的时间戳 ,再转换为秒
let num = parseInt((+new Date('2022-5-5 18:00:00') - Date.now()) / 1000)
// 获取小时
let myhour = parseInt(num / 3600)
myhour = myhour < 10 ? '0' + myhour : myhour
// 获取分钟
let myminutes = parseInt((num % 3600) / 60)
myminutes = myminutes < 10 ? '0' + myminutes : myminutes
// 获取秒
let mysecond = num % 60
mysecond = mysecond < 10 ? '0' + mysecond : mysecond
// 给元素赋值
hour.innerHTML = myhour
minutes.innerHTML = myminutes
second.innerHTML = mysecond
if (num <= 0) {
clearInterval(timeId)
}
}, 1000)
</script>