Date 构造函数: 可以创建日期和对象 用来处理日期和时间
1, 创建时间对象: var date = new Date()=> 当前时间 ===== 构造函数传日期字符串指定具体的日期
2, 格式化时间: data.tostring() 默认的时间格式, 让日期以标准化的日期字符串格式输出
data.toLocaleString() 当地的时间格式 本地化日期字符串格式输出
3,getFullYear(); 获取年 getMonth(); 获取月 getDay(); 获取星期 getDate(); 获取日期
getHours(); 获取小时 getMinutes(); 获取分钟 getSeconds(); 获取秒钟 getMilliseconds(); 获取毫秒
例题:
- // 3. 日期格式的自定义, xx 年 xx 月 xx 日 获取日期里面的各个组成部分
- // 封装一个函数, 专门给小于 10 的数, 前面加上 0, 3 => "03"
- function addZero( n ) {
- if (n <10) {
- return '0' + n;
- }
- else {
- return n;
- }
- }
- var now = new Date(); // 当前时间
- // 获取年 getFullYear
- var year = now.getFullYear();
- // 获取月 getMonth, 月从 0 开始, 范围 0-11
- var month = now.getMonth() + 1;
- month = addZero(month);
- // 获取日 getDate
- // 获取一周中的第几天, getDay, 范围 0-6, 0 周日, 1 周 1
- var day = now.getDate();
- // 时 getHours
- var hours = now.getHours();
- // 分 getMinutes
- var minutes = now.getMinutes();
- // 秒 getSeconds
- var seconds = now.getSeconds();
- seconds = addZero(seconds);
- // now.getMilliseconds 毫秒 0-1000
- // console.log(year, month, day, hours, minutes, seconds);
- var str = year + '年' + month + '月' + day + '日,' + hours + '时' + minutes + '分' + seconds + '秒';
- console.log(str);
4, 时间戳: 距离 1970 年 1 月 1 日 0 时 0 分 0 秒所过去的毫秒数
时间戳就是数字格式的日期, 便于运算, 一般用于求时间差
应用: 1, 用于统计一段代码的执行时间 (性能优化)2, 用于秒杀倒计时
例题: 还有多久下课?
- // 距离下课还有多久
- var now = new Date(); // 当前时间
- var future = new Date("2019-4-22 18:00:00");
- var time = parseInt((future - now) / 1000); // 秒数
- // 将秒数转换成 时 分 秒
- // 时, 1 小时 = 3600 秒 4000 1 小时多一点
- var hours = parseInt(time / 3600);
- // 分, 1 分钟 = 60 秒, 先求总的分钟数, 对 60 取余数, 因为满 60 的进位了
- var minutes = parseInt(time / 60) % 60;
- // 秒, 70 秒 => 1 分钟 10 秒, 超过 60 的都进位了
- var seconds = time % 60;
- // console.log(time);
- // console.log(hours, minutes, seconds);
- var str = "距离下课还有:" + hours + '时' + minutes + '分' + seconds + '秒';
- document.write(str);
来源: http://www.bubuko.com/infodetail-3086920.html