zoukankan      html  css  js  c++  java
  • JavaScript 之 Date对象

    Date对象

      Date 是一个构造函数,首先要通过 new Date() 来创建实例对象,提供实例成员。

       创建 Date 实例用来处理日期和时间。Date 对象基于 1970年1月1日(世界标准时间)起的毫秒数。

    构造方法:

      1、空构造函数

    var now = new Date();    

        通过空参构造函数,获取当前时间,UTC 世界时间,距1970年1月1日(世界标准时间)起的毫秒数

      2、毫秒数来获取时间

    var date1 = new Date(149809900356);       // 通过毫秒数获取指定日期

      3、日期格式字符串

    var date2 = new Date('2019-8-16');        // 通过指定日期获取日期

      4、年、月、日格式

    var date3 = new Date(2019,7,16);           // 通过指定年/月/日 获取日期

    获取日期毫秒形式的方法:

      1、通用方法

    var now = new Date();
    console.log(now.valueof());        // valueof 用于获取对象的原始值
    console.log(now.getTime());

      2、HTML5的方法

    var now = Date.now();                // HTML5中提供的静态成员,有兼容性问题,

      3、其他方法

    // 不支持HTML5的浏览器,可以用下面这种方式
    var now = + new Date();           // 相当于调用 Date 对象的 valueof() 方法
    var now = Number(new Date()) 
    

    日期格式化方法:

    toString()              // 将日期转化为字符串
    valueof()               // 获取日期的毫秒值
    toDateString()          // 将日期转化为字符串
    toTimeString()          // 将时间转化为字符串
    toLocaleDateString()    // 将日期转化为本地日期字符串
    toLocaleTimeString()    // 将时间转化为本地时间字符串
    

      注意:后四种方法在不同浏览器可能表现不一致,一般不用。

    获取日期指定部分:

    getTime()               // 返回毫秒数和 valueof()结果一样,valueof()调用的 getTime() 
    getMilliseconds()       
    getSeconds()            // 返回 0-59
    getMinutes()            // 返回 0-59
    getHours()              // 返回 0-23
    getDay()                // 返回星期几,0 周日,6 周六
    getDate()               // 返回当前月的第几天
    getMonth()              // 返回月份,从 0 开始计数
    getFullYear()           // 返回4位的年份
    

    案例:

      1、格式化日期对象,返回 yyyy-MM-dd HH:mm:ss 的形式

     1  function formatDate(date) {
     2       // 判断参数date是否是日期对象
     3       // instanceof  instanceof 实例(对象)   
     4       if (!(date instanceof Date)) {
     5         console.error('date不是日期对象')
     6         return;
     7       }
     8 
     9       var year = date.getFullYear(),
    10           month = date.getMonth() + 1,
    11           day = date.getDate(),
    12           hour = date.getHours(),
    13           minute = date.getMinutes(),
    14           second = date.getSeconds();
    15 
    16       month = month < 10 ? '0' + month : month;
    17       day = day < 10 ? '0' + day : day;
    18       hour = hour < 10 ? '0' + hour : hour;
    19       minute = minute < 10 ? '0' + minute : minute;
    20       second = second < 10 ? '0' + second : second;
    21 
    22       return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
    23     }

      2、计算时间差,返回相差的天/时/分/秒

     1 function getInterval(start, end) {
     2       // 两个日期对象,相差的毫秒数
     3       var interval = end - start;
     4       // 求 相差的天数/小时数/分钟数/秒数
     5       var day, hour, minute, second;
     6 
     7       // 两个日期对象,相差的秒数
     8       interval /= 1000;
     9 
    10       day = Math.round(interval / 60 / 60 / 24);
    11       hour = Math.round(interval / 60 / 60 % 24);
    12       minute = Math.round(interval / 60 % 60);
    13       second = Math.round(interval % 60);
    14     // 返回一个对象,键值对
    15       return {
    16         day: day,
    17         hour: hour,
    18         minute: minute,
    19         second: second
    20       }
    21     }
  • 相关阅读:
    4. Docker数据管理
    3.2 Docker基本使用(增删改查)
    2.2 Docker安装和配置
    1.2 Docker 基础介绍(简单篇)
    3. 【详细到哭系列】Zabbix监控并且实现各种报警
    2.【详细到哭系列】keepalived配置,实现zabbix主备的切换
    红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)
    红帽(RedHat8) RHEL8.0系统安装教程(小白都会)
    React Component(生命周期)
    安装react-redux后编译报错
  • 原文地址:https://www.cnblogs.com/niujifei/p/11363101.html
Copyright © 2011-2022 走看看