zoukankan      html  css  js  c++  java
  • js格式化时间(自己修改并注释)

    <script language="javascript">
    
    Date.prototype.format = function(format){ 
    var o = { 
    "Y+" : this.getFullYear(), //year 
    "M+" : this.getMonth()+1, //month 
    "d+" : this.getDate(), //day 
    "h+" : this.getHours(), //hour 
    "m+" : this.getMinutes(), //minute 
    "s+" : this.getSeconds(), //second 
    "q+" : Math.floor((this.getMonth()+3)/3), //quarter 
    "S" : this.getMilliseconds() //millisecond 
    } 
    
    if(/(y+)/.test(format)) { 
    format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    } 
    
    for(var k in o) {  //枚举o对象中的元素,k获得o中每个属性的名字
    if(new RegExp("("+ k +")").test(format)) { //RegExpObject.test(string) 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
    /*
    
    原版:format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
    
     //RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串,
     //stringObject.substr(start,length)  substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符
    /*   例子:
       var str="Hello world!"
       document.write(str.substr(3))
       输出:lo world!
    */
    
    format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : (""+ o[k]).substr((o[k]).length));
    } 
    } 
    return format; 
    } 
    
    //使用方法
    var testDate = new Date(); 
    var testStr = testDate.format("YY年MM月dd日hh小时mm分ss秒"); 
    document.write(testStr);
    
    </script>

    经过本人的一阵摸索和网上查找,终于摸清了每一句的意思,比较详细的注释,非常适合像我一样的菜鸟学习

  • 相关阅读:
    jvm-java内存模型与锁优化
    jvm-垃圾收集器与内存分配策略
    jvm-内存区域与内存溢出异常
    并发-AQS源码分析
    并发-Synchronized底层优化(偏向锁、轻量级锁)
    并发-CopyOnWrite源码分析
    并发-AtomicInteger源码分析—基于CAS的乐观锁实现
    【BZOJ】3052: [wc2013]糖果公园 树分块+带修改莫队算法
    【BZOJ】1086: [SCOI2005]王室联邦
    【BZOJ】4358: permu 莫队算法
  • 原文地址:https://www.cnblogs.com/csdttnk/p/2809290.html
Copyright © 2011-2022 走看看