📜  ES6 |日期

📅  最后修改于: 2022-05-13 01:56:36.826000             🧑  作者: Mango

ES6 |日期

ES6 日期定义为自世界标准时间 1970 年 1 月 1 日午夜以来经过的毫秒数。 Date 对象可以由new Date()构造函数创建。在 JavaScript 中,日期和时间都由 Date 对象表示。

构造函数:

  1. Date() – 为当前时间和日期创建一个日期对象。
    var date = new Date();
    console.log(date);
    
  2. Date(milliseconds) – 创建一个日期对象,其时间等于从 1970 年 1 月 1 日 UTC 开始经过的毫秒数。
    var date = new Date(1570991017113);
    console.log(date);
    
  3. Date(datestring) – 使用指定的日期字符串创建一个日期对象,然后自动解析它,就像 Date.parse() 一样。
    var date = new Date("2019-10-11");
    console.log(date);
    
  4. Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]) – 在本地时区创建具有指定日期的日期对象。前两个参数是必需的,其余参数是可选的。
    var date = new Date(2019, 0, 11, 15, 45, 55, 55);
    console.log(date);
    

特性:

  1. Date.prototype:它表示Date构造函数的原型。 Date.prototype本身是一个普通对象,而不是Date实例。它允许向 Date 对象添加属性。
  2. Date.constructor:它返回创建 Date 对象实例的数组函数的引用。

方法:

  1. Date.now():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
    console.log(Date.now()); // 1571060400486 
    // i.e. number of milliseconds elapsed since January 1, 1970 00:00:00 UTC
    
  2. Date.parse():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数,用于提供日期的字符串表示形式。
    console.log(Date.parse("2019-10-11")); // 1570800633000
    
  3. Date.UTC():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数,以逗号分隔。
    console.log(Date.parse("2019, 9, 11")); // 1570800633000
    

Date.prototype 方法:

  1. getDate():它从给定的日期对象返回月份的日期。
    var d = new Date("2019-10-11");
    console.log(d.getDate()); // 11
    
  2. getDay():它根据给定日期对象的本地时间返回从 0 到 6 的星期几。
    var d = new Date("2019-10-11");
    console.log(d.getDay()); // 5 i.e Friday
    
  3. getFullYear():它返回给定日期对象的全年。
    var d = new Date("2019-10-11");
    console.log(d.getFullYear()); // 2019
    
  4. getHours():它返回给定日期对象的小时 (0-23)。
    var d = new Date("2019-10-11 16:30:33");
    console.log(d.getHours()); // 16
    
  5. getMilliseconds():根据本地时间返回给定日期对象的毫秒数(0-999)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getMilliseconds()); // 0
    
  6. getMinutes():根据本地时间返回给定日期对象的分钟(0-59)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getMinutes()); // 30
    
  7. getMonth():它根据本地时间返回给定日期对象的月份(0-11)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getMonth()); // 9
    
  8. getSeconds():它根据本地时间返回给定日期对象的秒数(0-59)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getSeconds()); // 33
    
  9. getTime():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getTime()); // 1570791633000
    
  10. getTimezoneOffset():它以分钟为单位返回 UTC 和本地时区之间的差异。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getTimezoneOffset()); // -330
    
  11. getUTCDate():它根据给定日期对象的通用时间返回月份中的第几天(1-31)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCDate()); // 11
    
  12. getUTCDay():它根据给定日期对象的通用时间返回星期几(0-6)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCDay()); // 5
    
  13. getUTCFullYear():根据给定日期对象的通用时间返回年份。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCFullYear()); // 2019
    
  14. getUTCHours():根据给定日期对象的通用时间返回小时(0-23)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCHours()); // 11
    
  15. getUTCMilliseconds():它根据给定日期对象的通用时间返回毫秒(0-999)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCMilliseconds()); // 0
    
  16. getUTCMinutes():它根据给定日期对象的通用时间返回分钟。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCMinutes()); // 0
    
  17. getUTCMonth():根据给定日期对象的通用时间返回月份(0-11)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCMonth()); // 9
    
  18. getUTCSeconds():根据给定日期对象的通用时间返回秒 (0-59)。
    var d = new Date("October 11, 2019 16:30:33");
    console.log(d.getUTCSeconds()); // 33
    
  19. setDate():用于将月份的日期设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setDate(13);
    console.log(d.getDate()); // 13
    
  20. setFullYear():用于将年份设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setYear(2018);
    console.log(d.getFullYear()); // 2018
    
  21. setHours():用于将小时(0-23)设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setHours(19);
    console.log(d.getHours()); // 19
    
  22. setMilliseconds():用于设置日期对象在本地时间的毫秒数。
    var d = new Date("October 11, 2019 16:30:33");
    d.setMilliseconds(200);
    console.log(d.getMilliseconds()); // 200
    
  23. setMinutes():用于将分钟(0-59)设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setMinutes(20);
    console.log(d.getMinutes()); // 20
    
  24. setMonth():用于将月份(0-11)设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setMonth(8);
    console.log(d.getMonth()); // 8
    
  25. setSeconds():用于将秒(0-59)设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setSeconds(34);
    console.log(d.getSeconds()); // 34
    
  26. setTime():用于将 UTC 时间 1970 年 1 月 1 日 00:00:00 之后的毫秒设置为本地时间的日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setTime(1570815753000);
    console.log(d.toDateString()); // "Fri Oct 11 2019"
    
  27. setUTCDate():用于根据世界时将月份中的日期(0-11)设置为日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCDate(12);
    console.log(d.getDate()); // 12
    
  28. setUTCFullYear():用于根据通用时间将年份设置为日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCFullYear(2018);
    console.log(d.getFullYear()); // 2018
    
  29. setUTCHours():用于根据通用时间将小时(0-23)设置为日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCHours(16);
    console.log(d.getHours()); // 21
    
  30. setUTCMilliseconds():用于根据通用时间设置日期对象的毫秒数。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCMilliseconds(166);
    console.log(d.getMilliseconds()); // 166
    
  31. setUTCMinutes():用于根据世界时为日期对象设置分钟(0-59)。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCMinutes(22);
    console.log(d.getMinutes()); // 52
    
  32. setUTCMonth():用于根据世界时将月份(0-11)设置为日期对象。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCMonth(8);
    console.log(d.getMonth()); // 8
    
  33. setUTCSeconds():用于根据世界时间设置日期对象的秒数(0-59)。
    var d = new Date("October 11, 2019 16:30:33");
    d.setUTCSeconds(10);
    console.log(d.getSeconds()); // 10
    

日期转换方法:

  1. toDateString():它返回日期对象的日期部分的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toDateString()); // "Fri Oct 11 2019"
    
  2. toISOString():它使用 ISO 8601 扩展格式返回日期对象的日期部分的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toISOString()); // "2019-10-11T14:00:33.000Z"
    
  3. toJSON():它返回日期对象的日期部分的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toJSON()); // "2019-10-11T14:00:33.000Z"
    
  4. toLocaleDateString():它有两个参数(可选)——语言环境选项,并根据指定的语言环境返回日期部分的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toLocaleDateString()); // "10/11/2019"
    
    // 10.2019
    console.log(d.toLocaleDateString("de-DE", {year:'numeric', month: 'numeric'}))
    
  5. toLocaleString():它以语言环境格式返回日期部分的日期对象字符串。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toLocaleString()); // "10/11/2019, 7:30:33 PM"
    
  6. toLocaleTimeString():它返回日期对象时间部分的字符串表示。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toLocaleTimeString()); // "7:30:33 PM"
    
  7. toString():它返回日期对象的日期字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    
    // "Fri Oct 11 2019 19:30:33 GMT+0530 (India Standard Time)"
    console.log(d.toString()); 
    
  8. toTimeString():它返回日期对象时间部分的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toTimeString()); // "19:30:33 GMT+0530 (India Standard Time)"
    
  9. toUTCString():它以通用时区格式返回日期对象的字符串表示形式。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.toUTCString()); // "Fri, 11 Oct 2019 14:00:33 GMT"
    
  10. valueOf():它返回从 1970 年 1 月 1 日 00:00:00 UTC 到提供的日期所经过的毫秒数。
    var d = new Date(2019, 9, 11, 19, 30, 33);
    console.log(d.valueOf()); // 1570802433000