MDN关于Date的解释:该实例呈现时间中的某个时刻。Date 对象则基于 Unix Time Stamp,即自1970年1月1日(UTC)起经过的毫秒数。
Date实例是在js开发中使用最多的时间处理方法,内置了诸多强大的方法。既支持获取当前时间,也支持传入时间参数。本篇文章分为三个部分,详细介绍Date实例在开发过程中的使用。
1.获取详细时间
2.获取详细时间后,获取需要的参数,时分秒等
3.js处理时间
一、获取详细时间参数
- 获取本地时间
var date = new Date()
//返回格式为周 月 日 年 时间 时区
//Mon Mar 16 2020 21:04:39 GMT+0800 (中国标准时间)
- 传入时间参数,有三种方式
1.传入时间戳
var date = new Date(456456464564)
//Tue Jun 19 1984 09:27:44 GMT+0800 (中国标准时间)
2.传入时间字符串
var date = new Date('04 Dec 1995 00:12:00 GMT')
//Mon Dec 04 1995 08:12:00 GMT+0800 (中国标准时间)
3.传入日期结构
var date = new Date(2019,11,11,11,11);
//Wed Dec 11 2019 11:11:00 GMT+0800 (中国标准时间)
二、获取时分秒
- 根据本地时间返回指定参数
var date = new Date();
date.getFullYear(); //获取完整的年份(4位,1970-????)
//2020
date.getMonth(); //获取当前月份(0-11,0代表1月)
//2;注:getMonth()返回的并不是1-12,而是0-11,0代表1月份,以此类推。据了解设计时便是如此,所以可以称为设计缺陷???
date.getDate(); //获取当前日(1-31)
//17
date.getDay(); //获取当前星期X(0-6,0代表星期天)
//2
date.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
//1584429034679
date.getHours(); //获取当前小时数(0-23)
//15
date.getMinutes(); //获取当前分钟数(0-59)
//25
date.getSeconds(); //获取当前秒数(0-59)
//36
date.getMilliseconds(); //获取当前毫秒数(0-999)
//679
date.toLocaleDateString(); //获取当前日期
//2020/3/17 返回的格式为字符串
date.toLocaleTimeString(); //获取当前时间
//下午3:10:34
date.toLocaleString( ); //获取日期与时间
//2020/3/17 下午3:10:34
- 根据世界时间返回指定参数
var date = new Date('')
date.getUTCDate()
根据世界时返回特定日期对象一个月的第几天(1-31).
date.getUTCDay()
根据世界时返回特定日期对象一个星期的第几天(0-6).
date.getUTCFullYear()
根据世界时返回特定日期对象所在的年份(4位数).
date.getUTCHours()
根据世界时返回特定日期对象当前的小时(0-23).
date.getUTCMilliseconds()
根据世界时返回特定日期对象的毫秒数(0-999).
date.getUTCMinutes()
根据世界时返回特定日期对象的分钟数(0-59).
date.getUTCMonth()
根据世界时返回特定日期对象的月份(0-11).
date.getUTCSeconds()
根据世界时返回特定日期对象的秒数(0-59).
三、js处理时间
获取详细时间及时分秒是Date实例的Getter方法的用法, 在日常开发中遇到需要处理时间加减的需求时,Date实例同样提供了Setter方法。
- 根据本地时间处理
本地时间为Tue Mar 17 2020 15:46:34 GMT+0800 (中国标准时间)
date.setDate()
// 根据本地时间为指定的日期对象设置月份中的第几天。
例:date.setDate(1) //Sun Mar 01 2020 15:46:34 GMT+0800 (中国标准时间)
date.setFullYear()
// 根据本地时间为指定日期对象设置完整年份(四位数年份是四个数字)。
例:date.setFullYear(2019) //Sun Mar 17 2019 15:46:34 GMT+0800 (中国标准时间)
date.setHours()
// 根据本地时间为指定日期对象设置小时数。
例:date.setHours(1) //Tue Mar 17 2020 01:50:00 GMT+0800 (中国标准时间)
date.setMilliseconds()
// 根据本地时间为指定日期对象设置毫秒数。
date.setMinutes()
// 根据本地时间为指定日期对象设置分钟数。
例:date.setMinutes(1) //Tue Mar 17 2020 15:01:36 GMT+0800 (中国标准时间)
date.setMonth()
// 根据本地时间为指定日期对象设置月份。
例:date.setMonth(1) //Mon Feb 17 2020 15:01:36 GMT+0800 (中国标准时间)
date.setSeconds()
// 根据本地时间为指定日期对象设置秒数。
例: date.setSeconds(0) //Mon Feb 17 2020 15:01:00 GMT+0800 (中国标准时间)
date.setTime()
- 根据世界时间处理
var date = new Date()
date.setUTCDate()
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
date.setUTCFullYear()
根据世界时设置 Date 对象中的年份(四位数字)。
date.setUTCHours()
根据世界时设置 Date 对象中的小时 (0 ~ 23)。
date.setUTCMilliseconds()
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
date.setUTCMinutes()
根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
date.setUTCMonth()
根据世界时设置 Date 对象中的月份 (0 ~ 11)。
date.setUTCSeconds()
根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。