日期对象Date()
文章目录
创建Date对象
定义
定义的全是关于日期的功能和方法
日期对象是系统提供好的对象
日期对象有很多属性和方法
创建 Date 对象
Date 对象由新的 Date()
构造函数创建。
有 4 种方法创建新的日期对象:
- new Date()
- new Date(year, month, day, hours, minutes, seconds, milliseconds)
- new Date(milliseconds)
- new Date(date string)
new Date()
new Date()
用当前日期和时间创建新的日期对象:
日期获取方法
获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):
方法 | 描述 |
---|---|
getDay() | 以数值获取周名(0-6) |
getFullYear() | 获取四位的年(yyyy) |
getMonth() | 获取月(0-11) |
getDate() | 以数值返回天(1-31) |
getHours() | 获取小时(0-23) |
getMinutes() | 获取分(0-59) |
getSeconds() | 获取秒(0-59) |
getMilliseconds() | 获取毫秒(0-999) |
getTime() | 获取时间(从 1970 年 1 月 1 日至今) |
大的Date()作为构造对象,单独执行,不new的话会返回一个日期字符串。
getDay()
返回当前时间是本周的第几天(0-6 星期日开始算 星期日是0 所以周三就是3)
getFullYear()
获取当年的年份(四位数) 也就是2022这样展示 历史上一开始用两位展示 但是不够用(换世纪会冲突 所以淘汰了getYear() 因为它是两位的年)
getMonth()
获取当前时间的月份(0-11) 注意一月是0 所以当前十月 就会打印9
getDate()
var date = new Date();
返回当前时间是本月第几天(1-31) 当前是哪天就是哪天
getHours()
获取当前是几时(0-23)
getMinutes()
获取当前的分(0-59)
getSeconds()
获取当前秒(0-59)
getMilliseconds()
获取当前毫秒(0-999) 1000毫秒=1秒
date记录的是它出生的那一刻的时分秒,不是实时的
date时刻记录之后就不会发生改变
getTime()
返回自1970年1月1日以来的毫秒数,返回的是时间戳。
计算机的纪元时间:1970.01.01 相当于定义的那是计算机出生的时间。
计算机不知道时间,但是始终知道现在的时间距离纪年时间过了多少年月日分秒。然后换算成我们能看懂的时间。
时间戳(13位)
时间戳就是记录当前时刻,就好比邮票上印上去的时间一样,记录那一刻的时间
// 获取循环使用时间(实战开发中可以用来测试效率,优化代码来节约时间)
var firstTime = new Date().getTime(); // 获取循环之前的时间戳
for(var i = 0; i < 10000; i ++) {
}
var lastTime = new Date().getTime(); // 循环结束后的时间戳
// 打印结束时的时间戳减去开始时的时间戳
console.log(lastTime - firstTime);
一万圈只用一毫秒,哈哈哈哈!
日期设置方法
设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):
方法 | 描述 |
---|---|
setFullYear() | 设置年(可选月和日) |
setMonth() | 设置月(0-11) |
setDate() | 以数值(1-31)设置日 |
setHours() | 设置小时(0-23) |
setMinutes() | 设置分(0-59) |
setSeconds() | 设置秒(0-59) |
setMilliseconds() | 设置毫秒(0-999) |
setTime() | 设置时间(从 1970 年 1 月 1 日至今的毫秒数) |
setFullYear()
设置年(可选月和日)
// 不带月日
var date = new Date();
date.setFullYear(2023); // 把当前时间改成2023年
// 包含月日
// 请注意,月份从 0 计数。十二月是 11
var date = new Date();
date.setFullYear(2023, 11, 20);
setMonth()
设置月(0-11) 1是二月
setDate()
以数值(1-31)设置日 回不去的十一
setHours()
设置小时(0-23) 今天不用上班了
setMinutes()
设置分(0-59)
<script type="text /javascript">
var date = new Date();
date.setMinutes(35); // 让data的分加到35分
setInterval(function () {
// 等到准确的时间到达35分并且大于data的35超过一秒之后开始打印(间隔1000毫秒也就是1秒 打印一次)
if(new Date( ).getTime( ) - date.getTime( ) > 1000){
console.log('张杰很帅')
}
},1000 ); // 每隔一秒(1000毫秒)执行一次
</script>
setSeconds()
设置秒(0-59)
setMilliseconds()
设置毫秒(0-999)
setTime()
设置时间(从 1970 年 1 月 1 日至今的毫秒数) 返回对应时间戳的时间
封装函数,打印当前是何年何月何日何时,几分几秒。
function date() {
var date = new Date();
console.log(date.getFullYear(),date.getMonth(),
date.getDate(),date.getHours(),
date.getMinutes(),,date.getSeconds())
}
date();
ar date = new Date();
console.log(date.getFullYear(),date.getMonth(),
date.getDate(),date.getHours(),
date.getMinutes(),date.getSeconds())
}
date();
[外链图片转存中...(img-paDsmJF2-1665582702991)]