共计 1532 个字符,预计需要花费 4 分钟才能阅读完成。
实例化
在代码中发现 new
关键字时,一般将这个操作称为实例化
获得当前时间
let date = new Date()
获得指定时间
let date = new Date('1999-09-01 18:30:00')
时间对象方法
因为时间对象返回的数据我们不能直接使用,所以需要转换为实际开发中常用的格式
方法名 | 说明 |
---|---|
getFullYear() |
获取当年 |
getMonth() |
获取当月(0 ~ 11) |
getDate() |
获取当天日期 |
getDay() |
获取当星期几(周日 0 到 周六6) |
getHours() |
获取当前小时 |
getMinutes() |
获取当前分钟 |
getSeconds() |
获取当秒钟 |
getTime() |
获取时间戳 |
// 先调用 就省去了1秒的空白期
getTimer()
setInterval(getTimer, 1000)
function getTimer() {
let date = new Date();
let year = date.getFullYear(); // 返回当前日期的年
let month = date.getMonth() + 1; // 返回月份0~11,要加1
let dates = date.getDate(); // 返回的是当前几号
let arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
let day = date.getDay(); // 返回的是0~6 周日是0
let h = date.getHours(); // 时
h = h < 10 ? '0' + h : h; // 数字小于10前面补0
let m = date.getMinutes(); // 分
m = m < 10 ? '0' + m : m; // 数字小于10前面补0
let s = date.getSeconds(); // 秒
s = s < 10 ? '0' + s : s; // 数字小于10前面补0
time.innerHTML = `${year}年 ${month}月${dates}日 ${h}时${m}分${s}秒 ${arr[day]}`
}
time()
setInterval(time, 1000)
function time() {
// 1. 得到现在的时间戳
let now = +new Date()
// 2. 得到指定时间的时间戳
let last = +new Date('2021-8-29 18:30:00')
// 3. (计算剩余的毫秒数) / 1000 === 剩余的秒数
let count = (last - now) / 1000
// 4. 转换为时分秒
// h = parseInt(总秒数 / 60 / 60 % 24) // 计算小时
let h = parseInt(count / 60 / 60 % 24)
h = h < 10 ? '0' + h : h
// m = parseInt(总秒数 / 60 % 60); // 计算分数
let m = parseInt(count / 60 % 60)
m = m < 10 ? '0' + m : m
// s = parseInt(总秒数 % 60); // 计算当前秒数
let s = parseInt(count % 60);
s = s < 10 ? '0' + s : s
hour.innerHTML = h
minutes.innerHTML = m
scond.innerHTML = s
}
时间戳
时间戳是指1970年01月01日00时00分00秒起至到现在的毫秒数,它是一种特殊的计量时间的方式
获取时间戳
getTime()
方法
// 实例化
let date = new Date()
// 获取时间戳
console.log(date.getTime())
+new Date()
方法
// 当前时间戳
console.log(+new Date())
// 指定时间的时间戳
console.log(+new Date('2022-12-12 00:00:00'))
Date.now()
// 无需实例化,但是只能得到当前时间戳,前面两种可以获得指定时间的时间戳
console.log(Date.now())
正文完
发表至: 笔记
2024-05-20