美文网首页让前端飞程序员我爱编程
【JS基础】JavaScript中Date对象的常用方法

【JS基础】JavaScript中Date对象的常用方法

作者: 虹猫1992 | 来源:发表于2018-12-23 19:12 被阅读16次

Date 类型使用自 UTCCoordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。

1. 创建Date对象,使用 new 操作符和 Date 构造函数即可:

(1)Date 对象自动使用当前的日期和时间作为其初始值

var date = new Date();

(2)将给定的毫秒数转换为使用的时间,new Date(dateVal)

  • dateVal 必选项。
  • 如果是数字值,dateVal表示指定日期与1970年1月1日午夜间全球标准时间的毫秒数
  • 如果是字符串,则 dateVal 按照 parse 方法中的规则进行解析。
var date = new Date("2018/04/06 03:23:55");
var date = new Date(1545548361287);

(3)指定具体的日期,new Date((year,month,date[,hours[,minutes[,seconds[,ms]]]]))

  • year 必选项,完整的年份,比如,1976(而不是 76
  • month 必选项,表示的月份,是011 之间的整数1 月至 12 月)
  • date 必选项,表示日期,是从 131 之间的整数
  • hours 可选项,如果提供了 minutes 则必须给出。表示小时,是从 023 的整数
  • minutes 可选项,如果提供了 seconds 则必须给出。表示分钟,是从 059 的整数
  • seconds 可选项,如果提供了 milliseconds 则必须给出。表示秒钟,是从 059 的整数
  • ms 可选项,表示毫秒,是从 0999 的整数
var date = new Date(2018, 11, 23, 15, 3, 23);

2. 日期的运算

类型自动转换时,Date实例如果转为数值,则等于对应的毫秒数;如果转为字符串,则等于对应的日期字符串

  • 两个日期实例对象进行减法运算时,返回的是它们间隔的毫秒数;
  • 进行加法运算时,返回的是两个字符串连接而成的新字符串。
var d1 = new Date(2018, 0, 1);
var d2 = new Date(2018, 11, 1);

console.log(d2 - d1); //28857600000
console.log(d2 + d1); 
// "Sat Dec 01 2018 00:00:00 GMT+0800 (中国标准时间)Mon Jan 01 2018 00:00:00 GMT+0800 (中国标准时间)"

3. 静态方法:Date.now()

Date.now()方法返回当前时间距离时间零点(19701100:00:00 UTC)的毫秒数,相当于 Unix 时间戳乘以1000

Date.now(); // 1545549988630

4. 继承的方法

(1)valueOf()方法返回实例对象距离时间零点(19701100:00:00 UTC)对应的毫秒数,该方法等同于getTime方法。

var d = new Date();

d.valueOf() // 1545550458280
d.getTime() // 1545550458280

(2)toString()方法返回一个完整的日期字符串。因为toString是默认的调用方法,所以如果直接读取Date实例,就相当于调用这个方法。

var d = new Date(2018, 11, 23);

console.log(d.toString()); // Sun Dec 23 2018 00:00:00 GMT+0800 (中国标准时间)
console.log(d); // Sun Dec 23 2018 00:00:00 GMT+0800 (中国标准时间)

(3)toLocaleString()返回一个表示该日期对象的字符串,该字符串与系统设置的地区关联。

var d = new Date(2018, 11, 23);

console.log(d.toLocaleString()); // 2018/12/23 上午12:00:00

5. get 类方法

Date对象提供了一系列get*方法,用来获取实例对象某个方面的值。

实例的方法名 作用
getTime() 返回实例距离1970年1月1日00:00:00的毫秒数,等同于valueOf方法
getYear() 返回距离1900的年数
getFullYear() 返回四位的年份
getMonth() 返回月份(0 ~ 11,0表示1月,11表示12月)
getDay() 返回星期几,星期日为0,星期一为1,以此类推
getDate() 返回实例对象对应每个月的几号(从1开始)
getHours() 返回小时数 (0 ~ 23)
getMinutes() 返回分钟数 (0 ~ 59)
getSeconds() 返回秒数 (0 ~ 59)
getMilliseconds() 返回毫秒数 (0 ~ 999)

6. set 类方法

Date对象提供了一系列set*方法,用来设置实例对象的各个方面。

实例的方法名 作用
setTime(milliseconds) 设置毫秒时间戳
setYear(year) 设置距离1900年的年数
setFullYear(year [, month, date]) 设置四位年份
setMonth(month [, date]) 设置月份(0-11)
setDate(date) 设置实例对象对应的每个月的几号(1-31),返回改变后毫秒时间戳
setHours(hour [, min, sec, ms]) 设置小时(0-23)
setMinutes(min [, sec, ms]) 设置分钟(0-59)
setSeconds(sec [, ms]) 设置秒(0-59)
setMilliseconds() 设置毫秒(0-999)

这些方法基本是跟get*方法一一对应的,但是没有setDay方法,因为星期几是计算出来的,而不是设置的

7. 将日期转换为指定的格式

// 可以为Date原型添加如下的方法
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+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}     

// 调用
var time = new Date().format("yyyy-MM-dd hh:mm:ss");
console.log(time);   

相关文章

  • 【JS基础】JavaScript中Date对象的常用方法

    Date 类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1...

  • JavaScript ☞ day2

    JavaScript基础学习笔记之JavaScript提升 了解时间 Date Date对象的方法 Date对象间...

  • JS高级

    1,javascript 基础知识 Array对象 Array对象属性 Arrray对象方法 Date对象 Dat...

  • JS内置对象常用方法记录

    记录JavaScript内置对象的常用操作方法,随时补充 Arguments、Array、Boolean、Date...

  • Date

    JavaScript的内置对象 日期对象声明 设定制定时间:(兼容最强) 不常用: 获取date对象的方法 返回 ...

  • 从屌丝到架构师的飞越(JavaScript篇)-Number对象

    一、介绍 这节课呢,我们来了解的是JavaScript Number对象 js常用内置对象及方法 在js中万物皆对...

  • JavaScript基础知识点--JS内置对象

    title: JavaScript基础知识点--JS内置对象date: 2019-08-23 09:57:52ta...

  • 廖雪峰的JS教程3-标准对象

    标准对象 Date 在JavaScript中,Date对象用来表示日期和时间。 要获取系统当前时间,用: 方法一:...

  • JavaScript_对象

    一、时间对象(Date) (一)Date对象的创建 (二)Date对象的方法 (三)设置与获取的常用方法 二、对象...

  • Date

    Date Date对象是JavaScript提供的日期和时间的操作接口 Date对象有几个静态方法 Date.no...

网友评论

    本文标题:【JS基础】JavaScript中Date对象的常用方法

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