JavaScript 中 Date 对象学习记录
Date 实例用来处理日期和时间。Date 对象基于 1970 年 1 月 1 日(世界标准时间)起的毫秒数。
JavaScript 的 Date 对象提供了数个 UTC 时间的方法,也相应提供了当地时间的方法。UTC,也就是我们所说的格林威治时间,指的是 time 中的世界时间标准。而当地时间则是指执行 JavaScript 的客户端电脑所设置的时间。
Date 构造函数
new Date();
//Sun Jan 06 2019 20:18:04 GMT+0800 (中国标准时间)
new Date(value);
//value 代表自 1970 年 1 月 1 日 00:00:00 (世界标准时间) 起经过的毫秒数。
new Date(000000000000);
//Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)
new Date(dateString);
//dateString 表示日期的字符串值。该字符串应该能被 Date.parse() 方法识别
new Date(“2019.01.01”);
//Tue Jan 01 2019 00:00:00 GMT+0800 (中国标准时间)
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
//year 代表年份的整数值。为了避免 2000 年问题最好指定 4 位数的年份; 使用 1998, 而不要用 98.
//month 代表月份的整数值从 0(1 月)到 11(12 月)。
//day 代表一个月中的第几天的整数值,从 1 开始。
//hour 代表一天中的小时数的整数值 (24 小时制)。
// minute 分钟数。
// second 秒数。
//millisecond 表示时间的毫秒部分的整数值。
new Date(2019,01,01,01,01,01);
//Fri Feb 01 2019 01:01:01 GMT+0800 (中国标准时间)
Date 方法
Date.now()
返回自 1970-1-1 00:00:00 UTC (世界标准时间) 至今所经过的毫秒数,类型为 Number。
Date.now()
//1546777708417
Date.parse()
解析一个表示日期的字符串,并返回从 1970-1-1 00:00:00 所经过的毫秒数。
Date.parse(“2019.01.01”)
//1546272000000
Date.parse(’01 Jan 1970 00:00:00 GMT’);
//0
Date.UTC()
接受和构造函数最长形式的参数相同的参数(从 2 到 7),并返回从 1970-01-01 00:00:00 UTC 开始所经过的毫秒数。
year:1900 年后的某一年份。
month:0 到 11 之间的一个整数,表示月份。
date:1 到 31 之间的一个整数,表示某月当中的第几天。
hrs:0 到 23 之间的一个整数,表示小时。
min:0 到 59 之间的一个整数,表示分钟。
sec 0 到 59 之间的一个整数,表示秒。ms0 到 999 之间的一个整数,表示毫秒。
new Date(Date.UTC(2019, 0, 0, 0, 0, 1));
//Mon Dec 31 2018 08:00:01 GMT+0800 (中国标准时间)
时间戳格式转换
dateFormmat(time) {
let date = new Date(time * 1000); // 如果 date 为 13 位不需要乘 1000
let Ye = date.getFullYear() + ‘/’;
let Mo =
(date.getMonth() + 1 < 10
? ‘0’ + (date.getMonth() + 1)
: date.getMonth() + 1) + ‘/’;
let Da =
(date.getDate() < 10 ? ‘0’ + date.getDate() : date.getDate()) + ‘ ‘;
let hh =
(date.getHours() < 10 ? ‘0’ + date.getHours() : date.getHours()) + ‘:’;
let mm =
(date.getMinutes() < 10 ? ‘0’ + date.getMinutes() : date.getMinutes()) +
‘:’;
let ss =
date.getSeconds() < 10 ? ‘0’ + date.getSeconds() : date.getSeconds();
return Ye + Mo + Da +hh + mm + ss
}
//let value=dateFormmat(1234567890)
//console.log(value)
//2009/02/14 07:31:30
Date 实例 -(get)
所有的 Date 实例都继承自 Date.prototype。修改 Date 构造函数的原型对象会影响到所有的 Date 实例。
Date.getDate()
根据本地时间,返回一个指定的日期对象为一个月中的第几天。getDate() 返回一个 1 到 31 的整数值
let date = new Date(“December 25, 2019 11:11:00”);
let day = date.getDate();
console.log(day)
//25
Date.getDay()
getDay() 返回一个整数值:0 代表星期日,1 代表星期一,2 代表星期二,依次类推
Date.getFullYear()
getFullYear() 方法根据本地时间返回指定日期的年份。
Date.getMonth()
根据本地时间,返回一个指定的日期对象的月份,为基于 0 的值(0 表示一年中的第一月)。
Date.getHours()
getHours() 方法根据本地时间,返回一个指定的日期对象的小时。getHours 返回一个 0 到 23 之间的整数值。
Date.getMinutes()
getMinutes() 方法根据本地时间,返回一个指定的日期对象的分钟数。getMinutes 返回一个 0 到 59 的整数值
Date.getSeconds()
getSeconds() 方法根据本地时间,返回一个指定的日期对象的秒数, 返回一个 0 到 59 的整数值。
Date.getMilliseconds()
getMilliseconds() 方法,根据本地时间,返回一个指定的日期对象的毫秒数。getMilliseconds() 方法返回一个 0 到 999 的整数。
Date.getTime()
getTime 方法的返回值一个数值,表示从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数。
Date 实例 -(set)
Date.setDate()
setDate() 方法根据本地时间来指定一个日期对象的天数。如果 dayValue 超出了月份的合理范围,setDate 将会相应地更新 Date 对象。例如,如果为 dayValue 指定 0,那么日期就会被设置为上个月的最后一天。
Date.setFullYear()
setFullYear() 方法根据本地时间为一个日期对象设置年份如果有一个参数超出了合理的范围,setFullYear 方法会更新其他参数值,日期对象的日期值也会被相应更新。例如,为 monthValue 指定 15,则年份会加 1,月份值会为 3。
Date.setHours()
setHours() 方法根据本地时间为一个日期对象设置小时数,返回从 1970-01-01 00:00:00 UTC 到更新后的 日期 对象实例所表示时间的毫秒数。
如果有一个参数超出了合理范围,setHours 会相应地更新日期对象中的日期信息。例如,如果为 secondsValue 指定了 100,则分钟会加 1,然后秒数使用 40。
Date.setMilliseconds()
setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数。
如果指定的数字超出了合理范围,则日期对象的时间信息会被相应地更新。例如,如果指定了 1005,则秒数加 1,豪秒数为 5。
Date.setMinutes()
setMinutes() 方法根据本地时间为一个日期对象设置分钟数。
如果有一个指定的参数超出了合理范围,setMinutes 会相应地更新日期对象中的时间信息。例如,为 secondsValue 指定 100,分钟数将会加 1,而秒数会为 40。
Date.setMonth()
setMonth() 方法根据本地时间为一个设置年份的日期对象设置月份
如果有一个指定的参数超出了合理范围,setMonth 会相应地更新日期对象中的日期信息。例如,为 monthValue 指定 15,则年份会加 1,月份将会使用 3。
Date.setSeconds()
setSeconds() 方法根据本地时间设置一个日期对象的秒数。
如果一个参数超出了合理范围,setSeconds 方法会相应地更新日期对象的时间信息。例如,为 secondsValue 指定 100,则日期对象的分钟数会相应地加 1,秒数将会使用 40。
Date.setTime()
setTime() 方法以一个表示从 1970-1-1 00:00:00 UTC 计时的毫秒数为来为 Date 对象设置时间。
https://developer.mozilla.org…