JavaScript Date对象功能与用法学习记录
本文详细介绍JavaScript中Date对象的功能与用法,涵盖构造函数、静态方法(如now、parse、UTC)及实例方法(获取与设置时间)。通过具体示例解析时间戳转换、本地时间与UTC时间的处理,帮助开发者掌握日期时间操作的核心技巧。
本文通过具体实例解析JavaScript中Date对象的功能与用法,供读者参考学习。
Date实例主要用于处理日期和时间数据。该对象基于自1970年1月1日(世界标准时间)起经过的毫秒数进行计算。
JavaScript的Date对象提供了多种UTC(协调世界时)相关方法,同时也支持获取当地时间。UTC即格林威治时间标准,而当地时间则取决于执行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之间的整数,表示秒。
ms
0到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()方法根据本地时间,返回指定日期对象的毫秒数。该方法返回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对象设置时间。
希望本文所述对大家react程序设计有所帮助。
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
