日期对象:用来表示时间的对象,可以得到当前的系统时间
1.1实例化
①创建一个时间对象并获取当前时间 (在代码中发现new关键字,一般称为实例化)
<script>
const date = new Date() //实例化new
consolelog(date)
</script>
②获得指定时间
<script>
const date = new Date('2023-3-30 09:28:00')
console.log(date)
</script>
1.2日期对象方法
<script>
//获得日期对象
const date = new Date()
//使用里面的方法
//今日时间:2023年3月30日 星期四
console.log(date.getFullYear()) //2023
console.log(date.getMonth() + 1) //得到的月份小1,所以要加1才是现在的月份
console.log(date.getDate()) //30
console.log(date.getDay()) // 4 ,星期日是0
</script>
小例子:输出时间格式为2023年3月30日10:05:25,并且每秒变换
<div>今天是2022年2月8日6:9:0</div>
<script>
const div = document.querySelector('div')
function getMyDate(){
const date = new Date()
let h = date.getHours()
h = h < 10 ? '0' + h : h
let m = date.getMinutes()
m = m < 10 ? '0' + m : m
let s = date.getSeconds()
s = s < 10 ? '0' + s : s
return `今天是${date.getFullYear()}年${date.getMonth()+1}月${date.getDate()}日${h}:${m}:${s}`
}
div.innerHTML = getMyDate() //因为定时器里是回调函数,所以第一秒还是原来的时间2022的,所以单独显示这个
setInterval(function(){ //定时器,每秒变化
div.innerHTML = getMyDate()
}, 1000)
</script>
快速获取时间法:只能得到固定格式
<body>
<div>今天是2022年2月8日6:9:0</div>
<script>
const div = document.querySelector('div')
const date = new Date()
div.innerHTML = date.toLocaleString() //2022/4/1 09:41:21
// div.innerHTML = date.toLocaleDateString() //2022/4/1
// div.innerHTML = date.toLocaleTimeString() //10:26:46
</script>
</body>
1.3时间戳
是指1970年01月01日00时00分00秒起至现在的毫秒数,是一种特殊的计量时间的方式
(可以计算倒计时效果)
算法:将来时间戳 - 现在时间戳 = 剩余时间毫秒数
剩余时间毫秒数 转为 剩余 年、月、日 = 倒计时
获取时间戳三种方法:
①getTime()方法
<script>
const date = new Date() //一定要实例化
console.log(date.getTime()) //1680143733281
<script>
②简写 +new Date()
<script>
console.log(+new Date()) //本身也是要实例化
//console.log(+new Date('2023-4-1 18:30:00')) //得到指定时间戳
</script>
③使用Date.now()
<script>
console.log(Date.now())
</script>
注意:③无需实例化,但是只能得到当前时间戳,①②可以返回指定时间的时间戳