Js内置基本函数(Date)

作者: daiyunchao | 来源:发表于2016-10-18 23:13 被阅读321次
    获取日期和时间:
    • 年:getYear() 获取年份 如果获取的年份小于2000 则返回年份的最后两位,如果超过2000 则:2000为100,多出来的就加上 eg:2016年为 116
    var date=new Date();
    date.getYear() //116
    
    var date=new Date('1995-12-22 11:11:22');
    date.getYear();//95
    
    
    • 年: getFullYear() 获取完整年份,和getYear不同的是,该方法可获取完整的年份
    var date=new Date();
    date.getFullYear() //2016
    
    var date=new Date('1995-12-22 11:11:22');
    date.getFullYear();//1995
    
    
    • 月:getMonth() 获取时间对应的月份,返回值为0-11 也就是说,该方法0表示1月11表示12月
    var date=new Date();
    date.getMonth() //9
    
    
    • 日:getDate() 获取日期对应的日期返回值为1-31
    var date=new Date();
    date.getMonth() //18
    
    
    • 周:getDay() 获取日期是星期几 返回值为0-6 周日表示0
    var date=new Date();
    date.getDay() //2
    
    
    • 时:getHours() 获取日期对应的小时 返回值为0-23
    var date=new Date();
    date.getHours() //22
    
    
    • 分:getMinutes() 获取日期的分钟 返回0-59
    var date=new Date();
    date.getMinutes() //16
    
    
    • 秒:getSeconds() 获取日期对应的秒 返回0-59
    var date=new Date();
    date.getSeconds() //16
    
    
    • 毫秒:getMilliseconds() 获取日期对应的毫秒数 返回0-999
    var date=new Date();
    date.getMilliseconds() //25
    
    
    • 时间戳:getTime() 获取当前日期对应的时间戳
    var date=new Date();
    date.getTime() //1476800317958
    
    
    • 时区:getTimezoneOffset() 获取和0时区相差分钟数,比0时区时间早(东时区)为负数,比0时区晚(西时区)为正数
    var date=new Date();
    date.getTimezoneOffset() //-480 (8*60)
    
    
    • 获取时间:toGMTString() 获取GMT(格林威治时间)字符串,toString() 将Date对象转换成时间格式的字符串,toLocalString() 返回一个本地格式的时间字符串(会根据用户所在的地区不同显示处不同的结果),
    date=new Date()
    date.toGMTString()
    //"Tue, 18 Oct 2016 14:31:47 GMT"
    
    date.toString()
    //"Tue Oct 18 2016 22:31:47 GMT+0800 (中国标准时间)"
    
    date.toLocaleDateString()
    //"2016/10/18"
    
    • 转换,将日期格式字符串转换成时间戳的两个方法:

    Date.parse方法&Date.prototype.getTime方法&Date.propotype.valueOf方法

    var dateStr="1995-10-12 11:12:22:555";
    Date.parse(dateStr)
    //813467542555
    
    var date=new Date(dateStr)
    date.getTime()
    //813467542555
    
    var date=new Date(dateStr)
    date.valueOf()
    //813467542555
    
    
    设置日期和时间:
    • 年 setYear(number) 设置年份,2位或4位,只能设定为2位(2000年以前)和4位(2000年以后)不能设定为getYear()中获取的年份
    var date=new Date()
    date.setYear(95);
    date.toLocaleDateString()
    //"1995/10/18"
    
    date.setYear(2024)
    date.toLocaleDateString()
    //"2024/10/18"
    
    date.setYear(date.getYear())
    date.toLocaleDateString()
    //"124/10/19"
    
    
    • 年 setFullYear(number) 设置完整年份,4位
    var date=new Date()
    date.setFullYear(2024)
    date.toLocaleDateString()
    //"2024/10/18"
    
    
    • 月 setMonth(number) 设置月份,同getMonth相同,须设定为0-11,0表示1月,如果设定的值大于11,不会报错而是会进行累加 如下例:
    var date=new Date()
    date.setMonth(9)
    date.toLocaleDateString()
    //"2016/10/18"
    
    date.setMonth(14)
    date.toLocaleDateString()
    //"2017/3/18"
    
    • 日 setDate(number) 设置日,同getDate相同,须设定为1-31,如大于31同样会进行累加 如下例:
    var date=new Date()
    date.setDate(44)
    date.toLocaleDateString()
    //"2016/11/13",(今日日期为:2016年10月18日)
    
    
    • 小时 setHours(number) 设置小时,同getHours相同,须设定在0-59,如果大于59同样会进行累加 如下例:
    var date=new Date()
    date.setHours(44)
    date.toLocaleDateString()
    //"2016/10/19",(今日日期为:2016年10月18日)
    
    
    • 分 setMinutes(number)

    • 秒 setSeconds(number)

    • 毫秒 setMilliseconds(number) 同setHours相同,就不再赘述

    • 设置时间戳 setTime 设置一个时间戳

    var date=new Date()
    date.setTime(2476878564626);//设定了一个比较大的值
    date.toLocaleDateString()
    //"2048/6/27"
    
    

    相比较,set部分少了一个setDay方法(无法设定星期几),
    还有关于Date内置函数UTC部分没有提及.

    相关文章

      网友评论

      本文标题:Js内置基本函数(Date)

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