Date方法
Date 对象用于处理日期与时间。
创建 Date 对象: new Date()
以下四种方法同样可以创建 Date 对象:
var d = new Date();var d = new Date(milliseconds);var d = new Date(dateString);var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
Date 对象方法
- 根据Date对象获取信息
- getDate — 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
- getDay — 从 Date 对象返回一周中的某一天 (0 ~ 6)。
- getFullYear — 从 Date 对象以四位数字返回年份。
- getHours — 返回 Date 对象的小时 (0 ~ 23)。
- getMilliseconds — 返回 Date 对象的毫秒(0 ~ 999)。
- getMinutes — 返回 Date 对象的分钟 (0 ~ 59)。
- getMonth — 从 Date 对象返回月份 (0 ~ 11)。
- getSeconds — 返回 Date 对象的秒数 (0 ~ 59)。
- getTime — 返回 1970 年 1 月 1 日至今的毫秒数。
- 设置Date对象
- setDate — 设置 Date 对象中月的某一天 (1 ~ 31)。
- setFullYear — 设置 Date 对象中的年份(四位数字)。
- setHours — 设置 Date 对象中的小时 (0 ~ 23)。
- setMilliseconds — 设置 Date 对象中的毫秒 (0 ~ 999)。
- setMinutes — 设置 Date 对象中的分钟 (0 ~ 59)。
- setMonth — 设置 Date 对象中月份 (0 ~ 11)。
- setSeconds — 设置 Date 对象中的秒钟 (0 ~ 59)。
- setTime — setTime() 方法以毫秒设置 Date 对象。
- 输出Date对象
- toDateString — 把 Date 对象的日期部分转换为字符串。
- toISOString — 使用 ISO 标准返回字符串的日期格式。
- toJSON — 以 JSON 数据格式返回日期字符串。
- toLocaleDateString — 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
- toLocaleTimeString — 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
- toLocaleString — 根据本地时间格式,把 Date 对象转换为字符串。
- toString — 把 Date 对象转换为字符串。
- toTimeString — 把 Date 对象的时间部分转换为字符串。
- 特殊方法
- parse — 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
1. 根据Date对象获取信息
getDate
定义: getDate() 方法可返回月份的某一天。
语法: Date.getDate()
返回值: dateObject 所指的月份中的某一天,使用本地时间。返回值是 1 ~ 31 之间的一个整数。(类型:Number)
实例:
var d = new Date();var n = d.getDate(); //返回当前某一天 , 如日期为5.18时 返回18
getDay
定义: 返回一周的某一天数字。
语法: Date.getDay()
返回值: 返回值是 0(周日) 到 6(周六) 之间的一个整数。(类型:Number)
实例:
var d = new Date();var n = d.getDay(); // 返回值是 0(周日) 到 6(周六) 之间的一个整数。
getFullYear
定义: getFullYear() 方法可返回一个表示年份的 4 位数字。
语法: Date.getFullYear()
返回值: 表示年份的 4 位数字。(类型:Number)
实例:
var d = new Date("July 21, 1983 01:15:00");var n = d.getFullYear(); // 1983
getHours
定义: getHours() 方法可返回时间的小时字段。
语法: Date.getHours()
返回值: 返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数 (类型:Number)
实例:
var d = new Date("July 21, 1983 01:15:00");var n = d.getHours(); // 1
getMilliseconds
定义: getMilliseconds() 方法可返回时间的毫秒。
语法: Date.getMilliseconds()
返回值: 返回值是 0 ~ 999 之间的一个整数,该数字代表毫秒数。 (类型:Number)
冷知识: 一秒 = 1000 毫秒
实例:
var d = new Date("July 21, 1983 01:15:00:526");var n = d.getMilliseconds(); //526
getMinutes
定义: getMinutes() 方法可返回时间的分钟字段。
语法: Date.getMinutes()
返回值: date Object 的分钟字段,以本地时间显示。返回值是 0 ~ 59 之间的一个整数。 (类型:Number)
实例:
var d = new Date("July 21, 1983 01:15:00");var n = d.getMinutes(); //15
getMonth
定义: getMonth() 方法可返回表示月份的数字。返回值是 0(一月) 到 11(十二月) 之间的一个整数。
语法: Date.getMonth()
返回值: 返回值是 0(一月) 到 11(十二月) 之间的一个整数。(类型:Number)
实例:
var d = new Date();var n = d.getMonth(); // 7
getSeconds
定义: getSeconds() 方法可返回时间的秒。返回值是 0 ~ 59 之间的一个整数。
语法: Date.getSeconds()
返回值: 返回值是 0 ~ 59 之间的一个整数。 (类型:Number)
实例:
var d = new Date();var n = d.getSeconds(); // 23
getTime
定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
语法: Date.getTime()
返回值: 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。 (类型:Number)
实例:
var d = new Date();var n = d.getTime(); // 1652841798423
2. 设置Date对象
setDate
定义: setDate() 方法用于设置一个月的某一天。
语法: Date.setDate(day)
参数:
| 参数 | 描述 |
|---|---|
| day | 必需。表示一个月中的一天的一个数值(1 ~ 31):0 为上一个月的最后一天-1 为上一个月最后一天之前的一天如果当月有 31 天:32 为下个月的第一天如果当月有 30 天:32 为下一个月的第二天 |
返回值:
| Type | 描述 |
|---|---|
| Number | 1970年1月1日午夜至调整过日期的毫秒数。在 ECMAScript 标准化之前,该方法什么都不返回。 |
var d = new Date();d.setDate(15);
setFullYear
定义: setFullYear() 方法用于设置年份。 这个方法可用于设置月份及月份中的一天。
语法: Date.setFullYear(year,month,day)
参数:
| 参数 | 描述 |
|---|---|
| year | 必需。表示年份的四位整数。用本地时间表示。 |
| month | 可选。表示月份的数值。用本地时间表示。介于 0 ~ 11 之间:-1 为去年的最后一个月12 为明年的第一个月13 为明年的第二个月 |
| day | 可选。表示月中某一天的数值。用本地时间表示。介于 1 ~ 31 之间:0 为上个月最后一天-1 为上个月最后一天之前的天数如果当月有31天:32 为下个月的第一天如果当月有30天:32 为下一个月的第二天 |
返回值:
| 类型 | 描述 |
|---|---|
| Number | 1970年1月1日午夜至调整过日期的毫秒。 |
实例:
//设置年份为 2020:var d = new Date();d.setFullYear(2020);
setHours
定义: setHours() 方法用于设置指定的时间的小时字段。 该方法可用于设置分钟,秒以及毫秒数。
语法: Date.setHours(hour,min,sec,millisec)
参数:
| 参数 | 描述 |
|---|---|
| hour | 必需。表示小时的数值,介于 0(午夜) ~ 23(晚上11点) 之间,以本地时间计(下同)。-1 为昨天的最后一小时24 为明天的第一小时y |
| min | 可选。表示分钟的数值。,介于 0 ~ 59 之间。在 EMCAScript 标准化之前,不支持该参数:-1 为上一小时的最后一分钟60 为下一小时的第一分钟 |
| sec | 可选。表示秒的数值,介于 0 ~ 59 之间。在 EMCAScript 标准化之前,不支持该参数:-1 为上一分钟的最后一秒60 为下一分钟的第一秒钟 |
| millisec | 可选。表示毫秒的数值。介于 0 ~ 999之间。在 EMCAScript 标准化之前,不支持该参数:-1 为上一秒钟的最后一毫秒1000 为下一秒钟的第一毫秒 |
返回值:
| 类型 | 描述 |
|---|---|
| Number | Milliseconds between the date object and midnight January 1 1970 |
实例:
// 设置时间字段为 15:var d = new Date();d.setHours(15);//在本例中,我们将通过 setHours() 方法把时间设置为 15:35:01:var d = new Date();d.setHours(15,35,1);//设置时间为48小时以前:var d = new Date();d.setHours(d.getHours()-48);
setMilliseconds
定义:setMilliseconds() 方法用于设置指定时间的毫秒字段。
语法: Date.setMilliseconds(millisec)
参数:
| 参数 | 描述 |
|---|---|
| millisec | 必需。用于设置 dateObject 毫秒字段。该参数是介于 0 ~ 999 之间的整数:-1 为上一秒钟的最后一毫秒1000 为下一秒钟的第一毫秒1001 为下一秒钟的第二毫秒 |
返回值:
| 类型 | 描述 |
|---|---|
| Number | 1970年1月1日午夜至调整过的日期的毫秒表示。 |
实例:
// 指定时间的毫秒字段为192:var d = new Date();d.setMilliseconds(192);var n = d.getMilliseconds();
setMinutes
定义:setMinutes() 方法用于设置指定时间的分钟字段。 该方法同样可用于设置秒数与毫秒数。
语法: Date.setMinutes(min,sec,millisec)
参数:
| 参数 | 描述 |
|---|---|
| min | 必需。表示分钟的数值,介于 0 ~ 59 之间,以本地时间计(下同):-1 为上一小时的最后一分钟60 为下一小时的第一分钟 |
| sec | 可选。表示秒的数值,介于 0 ~ 59 之间。在 EMCAScript 标准化之前,不支持该参数:-1 为上一分钟的最后一秒60 为下一分钟的第一秒 |
| millisec | 可选。表示毫秒的数值,介于 0 ~ 999 之间。在 EMCAScript 标准化之前,不支持该参数:-1 为上一秒钟的最后一毫秒1000 为下一秒钟的的第一毫秒 |
返回值:
| Type | 描述 |
|---|---|
| Number | 返回1970年一月一日至调整过的日期的毫秒数。在 ECMAScript 标准化之前,该方法什么都不返回。 |
实例:
// 设置分钟数字段为17:var d = new Date();d.setMinutes(17);
setMonth
定义:setMonth() 方法用于设置月份。
注意: 一月为 0, 十二月为 11 . 这个方法可用于设置月份中的某一天。
语法: Date.setMonth(month,day)
参数:
| 参数 | 描述 |
|---|---|
| month | 必需。一个表示月份的数值。该值介于 0(一月) ~ 11(十二月) 之间:-1 为去年的最后一个月12 为明年的第一个月13 为明年的第二个月 |
| day | 可选。一个表示月的某一天的数值,该值介于 1 ~ 31 之间(以本地时间计):0 为上个月的最后一天-1 为上个月的最后一天之前的一天如果当月有31天:32 为下个月的第一天如果当月有30天:32 为下个月的第二天 |
返回值:
| Type | 描述 |
|---|---|
| Number | 返回1970年一月一日午夜至调整过的日期的毫秒表示。在 ECMAScript 标准化之前,该方法什么都不返回 |
实例:
// 设置日期为 5 月 20 号:var d = new Date();d.setMonth(4,20);//设置日期为上一个月的最后一天:var d = new Date();d.setMonth(d.getMonth(),0);
setSeconds
定义: setSeconds() 方法用于设置日期对象的秒字段。 这个方法可以用于设置毫秒数。
语法: Date.setSeconds(sec,millisec)
参数:
返回值:
| Type | 描述 |
|---|---|
| Number | 1970年1月1日至调整过的日期的毫秒表示。在 ECMAScript 标准化之前,该方法什么都不返回。 |
实例:
// 把当前时间的秒字段设置为 35:var d = new Date();d.setSeconds(35);// 设置秒数与毫秒数:var d = new Date();d.setSeconds(35,825);var n=d.getSeconds() + ":" + d.getMilliseconds();
setTime
定义: setTime() 方法以毫秒设置 Date 对象。
语法: Date.setTime(millisec)
参数:
| 参数 | 描述 |
|---|---|
| millisec | 必需。要设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。这种类型的毫秒值可以传递给 Date() 构造函数,可以通过调用 Date.UTC() 和 Date.parse() 方法获得该值。以毫秒形式表示日期可以使它独立于时区。 |
返回值:
| 类型 | 描述 |
|---|---|
| Number | 返回参数 millisec。在 ECMAScript 标准化之前,该方法不返回值。 |
实例:
// 在本例中,我们将向 1970年01月01日 添加 1332403882588毫秒,并显示新的日期和时间:var d = new Date();d.setTime(1332403882588);// 在本例中,我们将从 1970/01/01 减去 1332403882588 毫秒,并显示新的日期和时间:var d = new Date();d.setTime(-1332403882588);
3. 输出Date对象
toDateString
定义: toDateString() 方法可把 Date 对象的日期部分转换为字符串,并返回结果。
语法: Date.toDateString()
返回值: 日期作为字符串输出。 (类型:String)
实例:
//把 Date 对象的日期部分转换为可读字符串:var d = new Date();var n = d.toDateString();console.log(n) //Wed May 18 2022
toISOString
定义: toISOString() 方法可以使用ISO标准将 Date 对象转换为字符串。
该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ
语法: Date.toISOString()
返回值: ISO 标准格式的时间与日期。 (类型:String)
实例:
// 使用 ISO 标准返回 Date 对象的字符串格式:var d=new Date();var n=d.toISOString();console.log(n) //2022-05-18T03:53:59.186Z
toJSON
定义: toJSON() 方法可以将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
JSON 数据用同样的格式就像x ISO-8601 标准: YYYY-MM-DDTHH:mm:ss.sssZ
语法: Date.toJSON()
返回值: JSON数据格式的日期。 (类型:String)
实例:
// 返回字符串的 Date 对象,并格式化为 JSON 数据:var d=new Date();var n=d.toJSON();console.log(n) //2022-05-18T03:55:16.168Z
toLocaleDateString
定义: toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。
语法: Date.toLocaleDateString()
返回值: date Object 的日期部分的字符串表示,以本地时间区表示,并根据本地规则格式化。 (类型:String)
实例:
// 根据本地时间把 Date 对象的日期部分转换为字符串:var d=new Date();var n=d.toLocaleDateString();console.log(n) //2022/5/18
toLocaleTimeString
定义:toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。
语法: Date.toLocaleTimeString()
返回值: date Object 的时间部分的字符串表示,以本地时间区表示,并根据本地规则格式化。(类型:String)
实例:
// 根据本地时间把 Date 对象的时间部分转换为字符串:var d=new Date();var n=d.toLocaleTimeString();console.log(n) //11:58:21
toLocaleString
定义:toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。
语法: Date.toLocaleString()
返回值: 日期和时间以字符串形式输出。(类型:String)
实例:
// 根据本地时间把 Date 对象转换为字符串:var d=new Date();var n=d.toLocaleString();console.log(n) //2022/5/18 11:59:16
toString
定义:toString() 方法可把 Date 对象转换为字符串,并返回结果。
注意: 当 Date 对象需要显示为一个字符串时这个方法会自动被调用。
语法: Date.toString()
返回值: 日期和时间作为字符串输出。(类型:String)
实例:
// 把 Date 对象转换为字符串:var d=new Date();var n=d.toString();console.log(n) //Wed May 18 2022 12:00:09 GMT+0800 (香港标准时间)
toTimeString
定义:toTimeString() 方法可把 Date 对象的时间部分转换为字符串,并返回结果。
语法: Date.toTimeString()
返回值: 时间作为字符串输出。(类型:String)
实例:
// 把 Date 对象的时间部分转换为字符串:var d=new Date();var n=d.toTimeString();console.log(n) //12:01:21 GMT+0800 (香港标准时间
4.特殊方法
parse()
定义: parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
语法: Date.parse(datestring)
| 参数 | 描述 |
|---|---|
| datestring | 必需。表示日期和时间的字符串。 |
返回值: 指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数。 (类型:Number)
实例:
var d = Date.parse("March 21, 2012"); // 1332259200000
5.各种Date用法
// 案例1
