- Date()对象:封装一个1970年元旦至今的毫秒数(从1970年1月1日0点0分0秒到当前时间的毫秒差),提供了对时间操作的方法
- get方法用来获得分量的值
getFullYear() - 获取表示年份的数字,如2020
getMonth() - 获取月份,范围0~11(0表示一月,1表示二月,以此类推)
getDate() - 获取月份中的某一天,范围1~31
getDay() - 获取星期,范围0~6(0表示星期一,1表示星期二,以此类推)
getHours() - 获取小时数,返回0~23
getMinutes() - 获取分钟数,范围0~59
getSeconds() - 获取秒数,范围0~59
getMilliseconds() - 获取毫秒数,范围0~999
getTime() - 获取从1970-01-01 00:00:00 距离Date对象所代表时间的毫秒数
- set方法用来设置分量的值
setFullYear(value) - 设置年份
setMonth(value) - 设置月份
setDate(value) - 设置月份中的某一天
setHours(value) - 设置小时数
setMinutes(value) - 设置分钟数
setSeconds(value) - 设置秒数
setMilliseconds(value) - 设置毫秒数
setTime(value) - 通过从1970-01-01 00:00:00 计时的毫秒数来设置时间
- 日期转字符串
var date = new Date();
date.toString() - GMT格式显示
date.toLocaleString() - 操作系统当地时间格式,包含时间和日期
date.toLocaleDateString() - 以操作系统当地时间格式,仅包含日期
date.toLocaleTimeString() - 以操作系统当地时间格式,仅包含时间
- Date计算
- 两日期对象可直接相减,结果是毫秒差!
- 对每个分量做加减:3步: get分量值,做加减,set回去
- 一步概括:date.setXXX(date.getXXX()+/-n);
// 当前系统时间
var date = new Date();
// 2012年10月13日12时26分35秒
var date = new Date(2012, 10, 13, 12, 26, 35);
// 2012年10月有多少天
var max = new Date(2012, 10, 0).getDate();
// 获取当前月份
var nowMonth = new Date().getMonth()+ 1;
// 将毫秒数转化为时间
var date = new Date(1499996760000);
var dateTime = date.toLocaleString();
// 1970年1月1日午夜以来的毫秒数
new Date().getTime(); // 提倡使用的
new Date().valueOf();
Date.now(); // 直接使用的
+new Date(); // 相当于隐式转换,将该元素转换成Number类型,如果转换失败,那么将得到 NaN
new Date()* 1; // +new Date() 将会调用 Date.prototype 上的 valueOf() 方法,根据MDN,Date.prototype.value方法等同于Date.prototype.getTime()
// 实时时间
setInterval(
_=> {
var date = new Date();
var formate = (date=> {
var week = ['日', '一', '二', '三', '四', '五', '六'];
return date.getFullYear()+ '年'+
(date.getMonth()+ 1)+ '月'+
date.getDate()+ '日'+' ' +
'星期'+ week[date.getDay()]+ ' '+
date.toLocaleTimeString();
})(date);
console.log(formate);
},1000);