• javascript 日期对象(date)详解


    Date 对象

    Date 对象用于处理日期和时间。

    创建 Date 对象的语法:

    var myDate=new Date();

    注释:Date 对象会自动把当前日期和时间保存为其初始值。

    1、date初始化设置

    new Date("m  d,y h:m:s");
    new  Date("m d,y");
    new  Date(y,m,d,h,m,s);
    new Date(y,m,d);
    new Date(ms);
    例子:
    new Date("January 12,2006 22:19:35");
    new Date("January 12,2006");
    new Date(2006,0,12,22,19,35);
    new Date(2006,0,12);
    new Date(1137075575000);

    2、date对象方法(w3c)

    方法                    描述
    Date()                 返回当日的日期和时间。
    getDate()              从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    getDay()               从 Date 对象返回一周中的某一天 (0 ~ 6)。
    getMonth()             从 Date 对象返回月份 (0 ~ 11)。
    getFullYear()          从 Date 对象以四位数字返回年份。
    getYear()              请使用 getFullYear() 方法代替。
    getHours()             返回 Date 对象的小时 (0 ~ 23)。
    getMinutes()           返回 Date 对象的分钟 (0 ~ 59)。
    getSeconds()           返回 Date 对象的秒数 (0 ~ 59)。
    getMilliseconds()      返回 Date 对象的毫秒(0 ~ 999)。
    getTime()              返回 1970 年 1 月 1 日至今的毫秒数。
    getTimezoneOffset()    返回本地时间与格林威治标准时间 (GMT) 的分钟差。
    getUTCDate()           根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
    getUTCDay()            根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
    getUTCMonth()          根据世界时从 Date 对象返回月份 (0 ~ 11)。
    getUTCFullYear()       根据世界时从 Date 对象返回四位数的年份。
    getUTCHours()          根据世界时返回 Date 对象的小时 (0 ~ 23)。
    getUTCMinutes()        根据世界时返回 Date 对象的分钟 (0 ~ 59)。
    getUTCSeconds()        根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
    getUTCMilliseconds()   根据世界时返回 Date 对象的毫秒(0 ~ 999)。
    parse()                返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
    setDate()              设置 Date 对象中月的某一天 (1 ~ 31)。
    setMonth()             设置 Date 对象中月份 (0 ~ 11)。
    setFullYear()          设置 Date 对象中的年份(四位数字)。
    setYear()              请使用 setFullYear() 方法代替。
    setHours()             设置 Date 对象中的小时 (0 ~ 23)。
    setMinutes()           设置 Date 对象中的分钟 (0 ~ 59)。
    setSeconds()           设置 Date 对象中的秒钟 (0 ~ 59)。
    setMilliseconds()      设置 Date 对象中的毫秒 (0 ~ 999)。
    setTime()              以毫秒设置 Date 对象。
    setUTCDate()           根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
    setUTCMonth()          根据世界时设置 Date 对象中的月份 (0 ~ 11)。
    setUTCFullYear()       根据世界时设置 Date 对象中的年份(四位数字)。
    setUTCHours()          根据世界时设置 Date 对象中的小时 (0 ~ 23)。
    setUTCMinutes()        根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
    setUTCSeconds()        根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
    setUTCMilliseconds()   根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
    toSource()             返回该对象的源代码。
    toString()             把 Date 对象转换为字符串。
    toTimeString()         把 Date 对象的时间部分转换为字符串。
    toDateString()         把 Date 对象的日期部分转换为字符串。
    toGMTString()          请使用 toUTCString() 方法代替。
    toUTCString()          根据世界时,把 Date 对象转换为字符串。
    toLocaleString()       根据本地时间格式,把 Date 对象转换为字符串。
    toLocaleTimeString()   根据本地时间格式,把 Date 对象的时间部分转换为字符串。
    toLocaleDateString()   根据本地时间格式,把 Date 对象的日期部分转换为字符串。
    UTC()                  根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
    valueOf()              返回 Date 对象的原始值。

    3、日期格式化

    // 对Date的扩展,将 Date 转化为指定格式的String   
    // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
    // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
    // 例子:   
    // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
    // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
    Date.prototype.Format = function(fmt)   
    { //author: meizz   
      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;   
    }  
    调用方法:
    [javascript] view plaincopy
    var time1 = new Date().format("yyyy-MM-dd HH:mm:ss");     
    var time2 = new Date().format("yyyy-MM-dd");  
    
    
    方式二:
    /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 */ Date.prototype.pattern=function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), // "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 "H+" : this.getHours(), //小时 "m+" : this.getMinutes(), // "s+" : this.getSeconds(), // "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; var week = { "0" : "/u65e5", "1" : "/u4e00", "2" : "/u4e8c", "3" : "/u4e09", "4" : "/u56db", "5" : "/u4e94", "6" : "/u516d" }; if(/(y+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } if(/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]); } 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 date = new Date(); window.alert(date.pattern("yyyy-MM-dd hh:mm:ss")); 方式三: Date.prototype.format = function(mask) { var d = this; var zeroize = function (value, length) { if (!length) length = 2; value = String(value); for (var i = 0, zeros = ''; i < (length - value.length); i++) { zeros += '0'; } return zeros + value; }; return mask.replace(/"[^"]*"|'[^']*'|/b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])/1?|[lLZ])/b/g, function($0) { switch($0) { case 'd': return d.getDate(); case 'dd': return zeroize(d.getDate()); case 'ddd': return ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][d.getDay()]; case 'dddd': return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][d.getDay()]; case 'M': return d.getMonth() + 1; case 'MM': return zeroize(d.getMonth() + 1); case 'MMM': return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][d.getMonth()]; case 'MMMM': return ['January','February','March','April','May','June','July','August','September','October','November','December'][d.getMonth()]; case 'yy': return String(d.getFullYear()).substr(2); case 'yyyy': return d.getFullYear(); case 'h': return d.getHours() % 12 || 12; case 'hh': return zeroize(d.getHours() % 12 || 12); case 'H': return d.getHours(); case 'HH': return zeroize(d.getHours()); case 'm': return d.getMinutes(); case 'mm': return zeroize(d.getMinutes()); case 's': return d.getSeconds(); case 'ss': return zeroize(d.getSeconds()); case 'l': return zeroize(d.getMilliseconds(), 3); case 'L': var m = d.getMilliseconds(); if (m > 99) m = Math.round(m / 10); return zeroize(m); case 'tt': return d.getHours() < 12 ? 'am' : 'pm'; case 'TT': return d.getHours() < 12 ? 'AM' : 'PM'; case 'Z': return d.toUTCString().match(/[A-Z]+$/); // Return quoted strings with the surrounding quotes removed default: return $0.substr(1, $0.length - 2); } }); };
  • 相关阅读:
    dockerfile 镜像 指定虚拟机的内存
    springBoot整合MongoDB(动态查询)
    ubuntu 使用sudo apt-get update命令的时候会报http://archive.ubuntukylin.com:10006/ubuntukylin/dists/xenial/InRelease 无法连接
    在Ubuntu下进行MongoDB安装步骤
    艺术和代码的结合 turtle + python 的结合
    MySQL CPU性能定位
    送书丨《架构解密:从分布式到微服务》
    区块链在天猫国际商品溯源中的应用
    nginx gzip
    别被忽悠了!阿里内部人士:我们正悄悄地拆掉中台,你还在建?
  • 原文地址:https://www.cnblogs.com/shizhouyu/p/4511735.html
Copyright © 2020-2023  润新知