12_JavaScript_实现日期
目录
new Date()
常用方法
getFullYear 获取年
getMonth 获取月
getDate 获取日期
getDay 获取周几
getHours 获取小时
getMinutes 获取分钟
getSeconds 获取秒
getTime 获取到某个时间的毫秒数/时间戳
每个获取的方法都有一个对应的设置方法
获取时间差
定时器
作业
js提供的内置的构造函数,专门用来获取时间的
new Date()
// 在不传参数的情况下,默认返回当前时间
var time = new Date();
console.log(time); //Fri Mar 03 2023 21:38:40 GMT+0800 (中国标准时间)
//字符串传参的情况
console.log( new Date("2018"));
console.log( new Date("2018-02"));
console.log( new Date("2018-02-10"));
console.log( new Date("2018-02-10 15:"));
console.log( new Date("2018-02-10 15:11:"));
console.log( new Date("2018-02-10 15:11:55"));
//数字的传参情况
console.log(new Date(2018,3)); //月份从0开始 0表示1月 1表示2月
console.log(new Date(2018,3,18)); //年 月 日
console.log(new Date(2018,3,18,21));//年 月 日 时
console.log(new Date(2018,3,18,21,50));//年 月 日 时 分
console.log(new Date(2018,3,18,21,50,30));//年 月 日 时 秒
//传一个时间戳
时间戳是从1970年1月1日0点0分0秒开始的 每过一毫秒这个时间戳就会加1
格林威治时间
console.log(new Date(1208978018083));
常用方法
js提供了一系列的方法,获取到年月日 时分秒
getFullYear 获取年
getMonth 获取月
getDate 获取日期
getDay 获取周几
getHours 获取小时
getMinutes 获取分钟
getSeconds 获取秒
var time = new Date(); //不传参数获取的是当前的时间对象 ,,如果你传了参数获取的都是你传的那个时间的信息
console.log(time.getFullYear()); //获取日期对象的年
console.log(time.getMonth()); //获取日期对象的月份 2
console.log(time.getDate()); //获取日期对象的日 几号
console.log(time.getDay());//获取日期对象的 周几
console.log(time.getHours());//获取日期对象的 小时
console.log(time.getMinutes());//获取日期对象的 分钟
console.log(time.getSeconds());//获取日期对象的 秒
getTime 获取到某个时间的毫秒数/时间戳
console.log(new Date().getTime()); //当前日期的时间戳/毫秒数
console.log(new Date("2019-01-01 10:15:30").getTime());//获取到某个时间的毫秒数
每个获取的方法都有一个对应的设置方法
setFullYear setMonth .....(除了day星期)
var time = new Date("2020-10-1");
console.log(time.getFullYear(),"设置前");//2020
time.setFullYear(2019);
time.setMonth(5);
console.log(time.getFullYear(),"设置后");//2019
console.log(time.getMonth(),"设置后");//5
获取时间差
两个时间点相差的时间,在js中时间不能直接做减法
获取想获取到时间差,那就用两个时间的时间戳做减法
var d1 = new Date("2022-10-01 10:00:00");
var d2 = new Date("2022-10-03 11:01:21");
var diff = Math.abs(d1 - d2); // 相差的时间戳
//console.log(diff); 想办法获取到这个时间戳有多少天 分 秒
// 根据时间戳 获取到天
var dd = parseInt(diff / 1000 / 60 / 60 / 24);
// 根据时间戳 获取到小时 不满一天的剩下的小时
var hh = parseInt((diff / 1000 / 60 / 60) % 24);
// 根据时间戳 获取到分钟 不满一小时的剩下的分钟
var mm = parseInt((diff / 1000 / 60) % 60)
// 根据时间戳 获取到秒 不满一分钟的剩下的秒
var ss = (diff / 1000) % 60
console.log(ss);
定时器
设置定时器
语法:第一个参数是个函数,第二个参数是间隔的时间,单位是毫秒
var timer = setInterval(function(){
},1000)
清除定时器
clearInterval(timer)
作业
1 将日期格式化输出 "2019|01-10"
(日期对象==>字符串)
2 封装一个函数,功能是求两个时间相差的天数
3 封装函数 获取N天后的日期
function fn(n){
}
fn(19);// 得到的就是19天后的日期是记号
4 把当前系统时间展示到页面里 (定时器)
2025-03-025 22:51:50 在不刷新浏览器的情况下,每隔一秒改变一次时间
5 做京东倒计时 (活动是当天23点30分结束) 设置的时间和当前的时间相差了多久
每隔一秒 改变一次时间