Date方法

Date 对象用于处理日期与时间。

创建 Date 对象: new Date()

以下四种方法同样可以创建 Date 对象:

  1. var d = new Date();
  2. var d = new Date(milliseconds);
  3. var d = new Date(dateString);
  4. 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)。
    • setTimesetTime() 方法以毫秒设置 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)
实例:

  1. var d = new Date();
  2. var n = d.getDate(); //返回当前某一天 , 如日期为5.18时 返回18

getDay

定义: 返回一周的某一天数字。
语法: Date.getDay()
返回值: 返回值是 0(周日) 到 6(周六) 之间的一个整数。(类型:Number)
实例:

  1. var d = new Date();
  2. var n = d.getDay(); // 返回值是 0(周日) 到 6(周六) 之间的一个整数。

getFullYear

定义: getFullYear() 方法可返回一个表示年份的 4 位数字。
语法: Date.getFullYear()
返回值: 表示年份的 4 位数字。(类型:Number)
实例:

  1. var d = new Date("July 21, 1983 01:15:00");
  2. var n = d.getFullYear(); // 1983

getHours

定义: getHours() 方法可返回时间的小时字段。
语法: Date.getHours()
返回值: 返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数 (类型:Number)
实例:

  1. var d = new Date("July 21, 1983 01:15:00");
  2. var n = d.getHours(); // 1

getMilliseconds

定义: getMilliseconds() 方法可返回时间的毫秒。
语法: Date.getMilliseconds()
返回值: 返回值是 0 ~ 999 之间的一个整数,该数字代表毫秒数。 (类型:Number)
冷知识: 一秒 = 1000 毫秒
实例:

  1. var d = new Date("July 21, 1983 01:15:00:526");
  2. var n = d.getMilliseconds(); //526

getMinutes

定义: getMinutes() 方法可返回时间的分钟字段。
语法: Date.getMinutes()
返回值: date Object 的分钟字段,以本地时间显示。返回值是 0 ~ 59 之间的一个整数。 (类型:Number)
实例:

  1. var d = new Date("July 21, 1983 01:15:00");
  2. var n = d.getMinutes(); //15

getMonth

定义: getMonth() 方法可返回表示月份的数字。返回值是 0(一月) 到 11(十二月) 之间的一个整数。
语法: Date.getMonth()
返回值: 返回值是 0(一月) 到 11(十二月) 之间的一个整数。(类型:Number)
实例:

  1. var d = new Date();
  2. var n = d.getMonth(); // 7

getSeconds

定义: getSeconds() 方法可返回时间的秒。返回值是 0 ~ 59 之间的一个整数。
语法: Date.getSeconds()
返回值: 返回值是 0 ~ 59 之间的一个整数。 (类型:Number)
实例:

  1. var d = new Date();
  2. var n = d.getSeconds(); // 23

getTime

定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
语法: Date.getTime()
返回值: 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。 (类型:Number)
实例:

  1. var d = new Date();
  2. 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 标准化之前,该方法什么都不返回。
  1. var d = new Date();
  2. 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日午夜至调整过日期的毫秒。

实例:

  1. //设置年份为 2020:
  2. var d = new Date();
  3. 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

实例:

  1. // 设置时间字段为 15:
  2. var d = new Date();
  3. d.setHours(15);
  4. //在本例中,我们将通过 setHours() 方法把时间设置为 15:35:01:
  5. var d = new Date();
  6. d.setHours(15,35,1);
  7. //设置时间为48小时以前:
  8. var d = new Date();
  9. d.setHours(d.getHours()-48);

setMilliseconds

定义:setMilliseconds() 方法用于设置指定时间的毫秒字段。
语法: Date.setMilliseconds(millisec)
参数:

参数 描述
millisec 必需。用于设置 dateObject 毫秒字段。该参数是介于 0 ~ 999 之间的整数:-1 为上一秒钟的最后一毫秒1000 为下一秒钟的第一毫秒1001 为下一秒钟的第二毫秒

返回值:

类型 描述
Number 1970年1月1日午夜至调整过的日期的毫秒表示。

实例:

  1. // 指定时间的毫秒字段为192:
  2. var d = new Date();
  3. d.setMilliseconds(192);
  4. 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 标准化之前,该方法什么都不返回。

实例:

  1. // 设置分钟数字段为17:
  2. var d = new Date();
  3. 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 标准化之前,该方法什么都不返回

实例:

  1. // 设置日期为 5 月 20 号:
  2. var d = new Date();
  3. d.setMonth(4,20);
  4. //设置日期为上一个月的最后一天:
  5. var d = new Date();
  6. d.setMonth(d.getMonth(),0);

setSeconds

定义: setSeconds() 方法用于设置日期对象的秒字段。 这个方法可以用于设置毫秒数。
语法: Date.setSeconds(sec,millisec)
参数:
返回值:

Type 描述
Number 1970年1月1日至调整过的日期的毫秒表示。在 ECMAScript 标准化之前,该方法什么都不返回。

实例:

  1. // 把当前时间的秒字段设置为 35:
  2. var d = new Date();
  3. d.setSeconds(35);
  4. // 设置秒数与毫秒数:
  5. var d = new Date();
  6. d.setSeconds(35,825);
  7. 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 标准化之前,该方法不返回值。

实例:

  1. // 在本例中,我们将向 1970年01月01日 添加 1332403882588毫秒,并显示新的日期和时间:
  2. var d = new Date();
  3. d.setTime(1332403882588);
  4. // 在本例中,我们将从 1970/01/01 减去 1332403882588 毫秒,并显示新的日期和时间:
  5. var d = new Date();
  6. d.setTime(-1332403882588);

3. 输出Date对象

toDateString

定义: toDateString() 方法可把 Date 对象的日期部分转换为字符串,并返回结果。
语法: Date.toDateString()
返回值: 日期作为字符串输出。 (类型:String)
实例:

  1. //把 Date 对象的日期部分转换为可读字符串:
  2. var d = new Date();
  3. var n = d.toDateString();
  4. console.log(n) //Wed May 18 2022

toISOString

定义: toISOString() 方法可以使用ISO标准将 Date 对象转换为字符串。
该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ
语法: Date.toISOString()
返回值: ISO 标准格式的时间与日期。 (类型:String)
实例:

  1. // 使用 ISO 标准返回 Date 对象的字符串格式:
  2. var d=new Date();
  3. var n=d.toISOString();
  4. 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)
实例:

  1. // 返回字符串的 Date 对象,并格式化为 JSON 数据:
  2. var d=new Date();
  3. var n=d.toJSON();
  4. console.log(n) //2022-05-18T03:55:16.168Z

toLocaleDateString

定义: toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。
语法: Date.toLocaleDateString()
返回值: date Object 的日期部分的字符串表示,以本地时间区表示,并根据本地规则格式化。 (类型:String)
实例:

  1. // 根据本地时间把 Date 对象的日期部分转换为字符串:
  2. var d=new Date();
  3. var n=d.toLocaleDateString();
  4. console.log(n) //2022/5/18

toLocaleTimeString

定义:toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。
语法: Date.toLocaleTimeString()
返回值: date Object 的时间部分的字符串表示,以本地时间区表示,并根据本地规则格式化。(类型:String)
实例:

  1. // 根据本地时间把 Date 对象的时间部分转换为字符串:
  2. var d=new Date();
  3. var n=d.toLocaleTimeString();
  4. console.log(n) //11:58:21

toLocaleString

定义:toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。
语法: Date.toLocaleString()
返回值: 日期和时间以字符串形式输出。(类型:String)
实例:

  1. // 根据本地时间把 Date 对象转换为字符串:
  2. var d=new Date();
  3. var n=d.toLocaleString();
  4. console.log(n) //2022/5/18 11:59:16

toString

定义:toString() 方法可把 Date 对象转换为字符串,并返回结果。
注意: 当 Date 对象需要显示为一个字符串时这个方法会自动被调用。
语法: Date.toString()
返回值: 日期和时间作为字符串输出。(类型:String)
实例:

  1. // 把 Date 对象转换为字符串:
  2. var d=new Date();
  3. var n=d.toString();
  4. console.log(n) //Wed May 18 2022 12:00:09 GMT+0800 (香港标准时间)

toTimeString

定义:toTimeString() 方法可把 Date 对象的时间部分转换为字符串,并返回结果。
语法: Date.toTimeString()
返回值: 时间作为字符串输出。(类型:String)
实例:

  1. // 把 Date 对象的时间部分转换为字符串:
  2. var d=new Date();
  3. var n=d.toTimeString();
  4. console.log(n) //12:01:21 GMT+0800 (香港标准时间

4.特殊方法

parse()

定义: parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
语法: Date.parse(datestring)

参数 描述
datestring 必需。表示日期和时间的字符串。

返回值: 指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数(类型:Number)
实例:

  1. var d = Date.parse("March 21, 2012"); // 1332259200000

5.各种Date用法

  1. // 案例1