美文网首页前端基础笔记
【javascript】引用类型-Date 类型

【javascript】引用类型-Date 类型

作者: shanruopeng | 来源:发表于2017-11-02 16:32 被阅读1次

    Date.parse()、Date.UTC()、Date.now()

    • Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日
      期的毫秒数
    • ECMA-262 没有定义Date.parse()应该支持哪种日期格式,因此这个方法的行为因实现而异,而且通常是因地区而异
    • 如果传入Date.parse()方法的字符串不能表示日期,那么它会返回NaN
    var someDate = new Date(Date.parse("May 25, 2004"));
    var someDate = new Date("May 25, 2004");//与上一行代码等价
    
    • Date.UTC()方法同样也返回表示日期的毫秒数,但它与Date.parse()在构建值时使用不同的信息
    • Date.UTC()的参数分别是年份、基于0的月份(一月是0,二月是1,以此类推)、月中的哪一天(1 到31)、小时数(0 到23)、分钟、秒以及毫秒数。
    • 在这些参数中,只有前两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为1;如果省略其他参数,则统统假设为0
    // GMT 时间2000 年1 月1 日午夜零时
    var y2k = new Date(Date.UTC(2000, 0));
    // GMT 时间2005 年5 月5 日下午5:55:55
    var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
    
    • Data.now()返回表示调用这个方法时的日期和时间的毫秒数。
    //取得开始时间
    var start = Date.now();
    //调用函数
    doSomething();
    //取得停止时间
    var stop = Date.now(),
    result = stop – start;
    
    • 支持Date.now()方法的浏览器包括IE9+、Firefox 3+、Safari 3+、Opera 10.5 和Chrome。在不支持它的浏览器中,使用+操作符把Date对象转换成字符串,也可以达到同样的目的。
    //取得开始时间
    var start = +new Date();
    //调用函数
    doSomething();
    //取得停止时间
    var stop = +new Date(),
    result = stop - start;
    

    继承的方法

    • Date 类型重写了toLocaleString()、toString()和valueOf()方法;但这些方法返回的值与其他类型中的方法不同
    • Date 类型的toLocaleString()方法会按照与浏览器设置的地区相适应的格式返回日期和时间。时间格式中会包含AM 或PM,但不会包含时区信息,具体的格式会因浏览器而异
    • toString()方法则通常返回带有时区信息的日期和时间,其中时间一般以军用时间(即小时的范围是0 到23)表示。
    • Date 类型的valueOf()方法,则根本不返回字符串,而是返回日期的毫秒表示。因此,可以方便使用比较操作符(小于或大于)来比较日期值。
    var date1 = new Date(2007, 0, 1); //"January 1, 2007"
    var date2 = new Date(2007, 1, 1); //"February 1, 2007"
    alert(date1 < date2); //true
    alert(date1 > date2); //false
    

    日期格式化方法

    Date 类型还有一些专门用于将日期格式化为字符串的方法

    • toDateString()——以特定于实现的格式显示星期几、月、日和年;
    • toTimeString()——以特定于实现的格式显示时、分、秒和时区;
    • toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年;
    • toLocaleTimeString()——以特定于实现的格式显示时、分、秒;
    • toUTCString()——以特定于实现的格式完整的UTC 日期。
    • 以上这些字符串格式方法的输出也是因浏览器而异的

    日期/时间组件方法

    • getTime() 返回表示日期的毫秒数;与valueOf()方法返回的值相同
    • setTime(毫秒) 以毫秒数设置日期,会改变整个日期
    • getFullYear() 取得4位数的年份(如2007而非仅07)
    • getUTCFullYear() 返回UTC日期的4位数年份
    • getMonth() 返回日期中的月份,其中0表示一月,11表示十二月
    • getUTCMonth() 返回UTC日期中的月份,其中0表示一月,11表示十二月
    • setMonth(月) 设置日期的月份。传入的月份值必须大于0,超过11则增加年份
    • setUTCMonth(月) 设置UTC日期的月份。传入的月份值必须大于0,超过11则增加年份
    • getDate() 返回日期月份中的天数(1到31)
    • getUTCDate() 返回UTC日期月份中的天数(1到31)
    • setDate(日) 设置日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
    • setUTCDate(日) 设置UTC日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
    • getDay() 返回日期中星期的星期几(其中0表示星期日,6表示星期六)
    • getUTCDay() 返回UTC日期中星期的星期几(其中0表示星期日,6表示星期六)
    • getHours() 返回日期中的小时数(0到23)
    • getUTCHours() 返回UTC日期中的小时数(0到23)
    • getMinutes() 返回日期中的分钟数(0到59)
    • getUTCMinutes() 返回UTC日期中的分钟数(0到59)
    • setMinutes(分) 设置日期中的分钟数。传入的值超过59则增加小时数
    • setUTCMinutes(分) 设置UTC日期中的分钟数。传入的值超过59则增加小时数
    • getSeconds() 返回日期中的秒数(0到59)
    • getUTCSeconds() 返回UTC日期中的秒数(0到59)
    • setSeconds(秒) 设置日期中的秒数。传入的值超过了59会增加分钟数
    • setUTCSeconds(秒) 设置UTC日期中的秒数。传入的值超过了59会增加分钟数
    • getMilliseconds() 返回日期中的毫秒数
    • getUTCMilliseconds() 返回UTC日期中的毫秒数
    • setMilliseconds(毫秒) 设置日期中的毫秒数
    • setUTCMilliseconds(毫秒) 设置UTC日期中的毫秒数
    • getTimezoneOffset() 返回本地时间与UTC时间相差的分钟数。

    @七七 , javascript 基础笔记
    《javascript高级程序设计第3版》
    百度云下载(链接: https://pan.baidu.com/s/1i51mHdb 密码: b2q4

    好好学习

    相关文章

      网友评论

        本文标题:【javascript】引用类型-Date 类型

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