xjinza
12/27/2017 - 8:56 AM

万能日期格式化 js

万能日期格式化 js https://www.jianshu.com/p/70228e7de4b5

来源:https://www.jianshu.com/p/70228e7de4b5
https://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html
// 格式化日期
Date.prototype.Format = function (fmt) {
  var o = {
    'y+': this.getFullYear(),
    '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() // 毫秒
  }
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      if (k === 'y+') {
        fmt = fmt.replace(RegExp.$1, ('' + o[k]).substr(4 - RegExp.$1.length))
      } else if (k === 'S+') {
        var lens = RegExp.$1.length
        lens = lens === 1 ? 3 : lens
        fmt = fmt.replace(RegExp.$1, ('00' + o[k]).substr(('' + o[k]).length - 1, lens))
      } else {
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
      }
    }
  }
  return fmt
}
var date = new Date('2016-04-01 10:41:08:001')
console.log(date.Format('yyyy年MM月dd日 hh:mm:ss.S')) // 输出: 2016年04月01日 10:41:08.133
console.log(date.Format('yyyy-MM-dd hh:mm:ss')) // 输出: 2016-04-01 10:41:08
console.log(date.Format('yy-MM-dd hh:mm:ss')) // 输出: 16-04-01 10:41:08
console.log(date.Format('yy-M-d hh:mm:ss')) // 输出: 16-4-1 10:41:08

待拓展:
var sweek=['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'],
week=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
sMonth=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
month=['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']