JavaScript Date对象

作者: 微语博客 | 来源:发表于2021-10-14 23:20 被阅读0次

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

    创建日期

    可以通过 new 关键词来定义 Date 对象。

    var date1 = new Date();//返回Date对象
    console.log(date1);//Thu Oct 14 2021 21:58:44 GMT+0800 (中国标准时间)
    var date2 = new Date(1631454531235);//返回指定时间戳的Date对象
    console.log(date2);//Sun Sep 12 2021 21:48:51 GMT+0800 (中国标准时间)
    var date3 = new Date("2021.10.05 15:20:30");//返回字符串日期的Date对象
    console.log(date3);//Tue Oct 05 2021 15:20:30 GMT+0800 (中国标准时间)
    var date4 = new Date(2021,10,10);//返回指定格式日期的Date对象
    console.log(date4);//Wed Nov 10 2021 00:00:00 GMT+0800 (中国标准时间)
    

    new Date(2021,10,10);表示的日期是2021年11月10日。

    时间戳

    JS 的时间戳指的是格林威治标准时间1970,1,1零时,距离现在的毫秒数。格林威治标准时间是零时区的地方时。

    var now = Date.now();//返回现在的时间戳
    console.log(now);//1634221792520
    var date1 = new Date();//返回Date对象,可以获取指定对象的时间戳
    console.log(date.getTime());//1634221792521
    console.log(date.valueOf());//1634221792521
    
    var now2 = Date.parse(new Date());//返回Date对象的时间戳
    console.log(now2);//1634221923000
    

    设置时间

    通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。

    var date = new Date();
    date.setFullYear(2022,0,1);//返回指定日期时间戳
    console.log(date);//1641048099469
    
    var date = new Date();
    date.setDate(date.getDate()+10);//10天后
    console.log(date);//Sun Oct 24 2021 22:44:31 GMT+0800 (中国标准时间)
    

    如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

    日期比较

    通过日期转换时间戳可以很容易比较日期的前后

    var time = new Date().setFullYear(2021,10,24);//返回指定日期时间戳
    var now = Date.now();//返回当前时间戳
    time-now > 0 ? console.log("日期在以后") : console.log("日期在以前");
    

    格式化日期

    很多时候我们需要指定格式的日期,这里我在网上找了个JS格式化日期的函数,拿来即用挺好的,感谢大佬。

    Date.prototype.format = function (fmt) {
      var o = {
        "M+": this.getMonth() + 1,                   //月份
        "d+": this.getDate(),                        //日
        "h+": this.getHours(),                       //小时
        "m+": this.getMinutes(),                     //分
        "s+": this.getSeconds(),                     //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds()                  //毫秒
      };
      //  获取年份   // ①
      if (/(y+)/i.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
      }
      for (var k in o) {
        // ②
        if (new RegExp("(" + k + ")", "i").test(fmt)) {
          fmt = fmt.replace(
            RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
      }
      return fmt;
    }
    
    var now = new Date();
    console.log(now.format("YY-MM-DD"));//21-10-14
    console.log(now.format("YYYY/MM/DD"));//2021/10/14
    

    日期常用和方法

    方法 描述
    getDate() 返回月中的第几天(从 1 到 31)。
    getDay() 返回星期几(0-6)。
    getFullYear() 返回年份。
    getHours() 返回小时(从 0-23)。
    getMilliseconds() 返回毫秒(0-999)。
    getMinutes() 返回分钟(从 0-59)。
    getMonth() 返回月份(从 0-11)。
    getSeconds() 返回秒数(从 0-59)。
    getTime() 返回自 1970 年 1 月 1 日午夜以来与指定日期的毫秒数。
    getTimezoneOffset() 返回 UTC 时间与本地时间之间的时差,以分钟为单位。
    getUTCDate() 根据世界时,返回月份中的第几天(从 1 到 31)。
    getUTCDay() 根据世界时,返回星期几(0-6)。
    getUTCFullYear() 根据世界时,返回年份。
    getUTCHours() 根据世界时,返回小时(0-23)。
    getUTCMilliseconds() 根据世界时,返回毫秒数(0-999)。
    getUTCMinutes() 根据世界时,返回分钟(0-59)。
    getUTCMonth() 根据世界时,返回月份(0-11)。
    getUTCSeconds() 根据世界时,返回秒数(0-59)。
    方法 描述
    now() 返回自 1970 年 1 月 1 日午夜以来的毫秒数。
    parse() 解析日期字符串并返回自 1970 年 1 月 1 日以来的毫秒数。
    setDate() 设置 Date 对象中月的某一天。
    setFullYear() 设置日期对象的年份
    setHours() 设置日期对象的小时。
    setMilliseconds()
    setMinutes() 设置日期对象的分钟数。
    setMonth() 设置日期对象的月份。
    setSeconds() 设置日期对象的秒数。
    setTime() 将日期设置为 1970 年 1 月 1 日之后/之前的指定毫秒数。
    setUTCDate() 根据世界时,设置 Date 对象中月份的一天。
    setUTCFullYear() 根据世界时,设置日期对象的年份。
    setUTCHours() 根据世界时,设置日期对象的小时。
    setUTCMilliseconds() 根据世界时,设置日期对象的毫秒数。
    setUTCMinutes() 根据世界时,设置日期对象的分钟数。
    setUTCMonth() 根据世界时,设置日期对象的月份。
    setUTCSeconds() 根据世界时,设置日期对象的秒数。
    toDateString() 将 Date 对象的日期部分转换为可读字符串。
    toISOString() 使用 ISO 标准将日期作为字符串返回。
    toJSON() 以字符串形式返回日期,格式为 JSON 日期。
    toLocaleDateString() 使用区域设置约定将 Date 对象的日期部分作为字符串返回。
    toLocaleTimeString() 使用区域设置约定将 Date 对象的时间部分作为字符串返回。
    toLocaleString() 使用区域设置约定将 Date 对象转换为字符串。
    toString() 将 Date 对象转换为字符串。
    toTimeString() 将 Date 对象的时间部分转换为字符串。
    toUTCString() 根据世界时,将 Date 对象转换为字符串。
    UTC() 根据 UTC 时间,返回自 1970 年 1 月 1 日午夜以来的日期中的毫秒数。
    valueOf() 返回 Date 对象的原始值。

    相关文章

      网友评论

        本文标题:JavaScript Date对象

        本文链接:https://www.haomeiwen.com/subject/wujpoltx.html