美文网首页
第五章Date类型

第五章Date类型

作者: A郑家庆 | 来源:发表于2018-04-22 22:43 被阅读0次

    目录

    • 简述
    • 获取毫秒的几种转换方法
     1.Date.parse()
     2.Date.UTC()
     3.Date.now()
    
    • 常用的几种方法

    简述

    • 要创建一个日期对象,使用new操作符和Date构造函数即可,例:
    var now = new Date()
    

    在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前的日期和时间。如果想根据特定的日期和时间创建对象,可以传入特定日期或者传入该日期的毫秒数,获取毫秒数有两个方法:Date.parse()、Date.UTC()和Date.now()。

    获取毫秒的几种方法

    1. Date.parse()

    这个方法接收一个表示日期的字符串参数,返回的是毫秒数。
    接收日期格式:
    1.月/日/年 如05/25/2004或者2004/05/25
    2.英文月 日,年 如May 25, 2004
    3.如果有时分秒:YYYY-MM-DD HH:MM:SS 如2004-05-25 00:00:00

    注意:格式是固定的,使用其他格式可能会导致错误的结果,例:

    var time = Date.parse(05/25/2004)    // 1085414400000
    var time = Date.parse('2004/05/25')  //  1085414400000
    var time = Date.parse('2004-05-25 00:00:00')  //  1085414400000
    var time = Date.parse('2004-05-25')  //  1085443200000
    我们会发现var time = Date.parse('2004-05-25')这个返回值跟其他的都不一样,
    new Date(Date.parse('2004-05-25'))返回值为Tue May 25 2004 08:00:00 GMT
    +0800 (中国标准时间)也就是获取的时间是凌晨八点整的时候,而其他的都是Tue May 25 
    2004 00:00:00 GMT+0800 (中国标准时间)都是零时零分零秒,所以这里就出现了误差
    

    总结:如果是用Date.parse()或者new Date()这两种方法的时候时间格式一定是用'/'分开而不是'-',除非时间格式中有时分秒的情况。

    如果直接将日期的字符串传递给new Date(),也会在后台调用Date.parse(),所以想要获取指定日期的时间可以直接这么写:

    var time = new Date('2004/05/25')    //   Tue May 25 2004 00:00:00
     GMT+0800 (中国标准时间),就不用写new Date(Date.parse('2004/05/25'))
    这两者是等价的
    
    2. Date.UTC()

    这个方法同样也是返回毫秒数,不过它接收的参数是数字不是字符串,并且月份是基于0的月份(一月是0,二月是1,以此类推),只有前两个参数是必须的,也就是年和月,如果没有日则默认为1日,如果省略其他参数则默认为0。例:

    var time = new Date(Date.UTC(2004,0))  // Thu Jan 01 2004 08:00:00 
    GMT+0800 (中国标准时间)(显示的是凌晨8点不是0点)
    

    注意:new Date()默认调用Date.parse(),而不是Date.UTC(),而且后者也很少用到

    3.Date.now()

    这个方法是用来获取当前时间的毫秒数,也可以理解为new Date().getTime()的简写,这两种写法是等价的。

    常用的几种方法

    getTime() : 返回表示日期的毫秒数
    getFullYear(): 返回四位数的年份
    getMonth():返回日期中的月份(其中0表示一月,1表示二月,以此类推)
    getDate():返回月份中的天数
    getDay():返回星期几(其中0表示星期日,6表示星期六)
    getHours():返回小时
    getMinutes():返回分钟数
    getSeconds():返回秒数

    总结:1.获取毫秒数有三种方法Date.parse()、Date.UTC()和Date.now()。前面两种可以获取指定日期的毫秒数,最后一种只能获取当前时间毫秒数。
    2.获取时间new Date(),参数可以直接传入日期,也可以传入毫秒数,因为传入日期后台会调用Date.parse(),转为毫秒数。
    3.传入Date.parse()和new Date()的参数必须是字符串格式最好中间用'/'除了有时分秒的情况可以用'-',传入Date.UTC()的参数是数字。

    相关文章

      网友评论

          本文标题:第五章Date类型

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