JSはJava方法SimpleDateFormat.format(Date)ノートを実現します.

1242 ワード

dateformat.js
//    :http://apps.hi.baidu.com/share/detail/14544707
//   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;
}