题解 | #时间格式化输出#

时间格式化输出

http://www.nowcoder.com/practice/a789783e7c984f10a0bf649f6d4e2d59

看了很多人的写法,综合后,写的还算简洁

function formatDate(date, format = "yyyy-MM-dd HH:mm:ss 星期w") {
  var o = {
    "M+" : date.getMonth()+1,                 //月份
    "d+" : date.getDate(),                    //日
    "H+" : date.getHours(),                   //24小时
    "h+":date.getHours()>12?date.getHours()-12:date.getHours(), //12小时
    "m+" : date.getMinutes(),                 //分
    "s+" : date.getSeconds(),                 //秒
     "w" :"日一二三四五六".charAt(date.getDay())

  };
  // 年份
  if(/(y+)/.test(format)){
      //与正则表达式匹配的第一个 子匹配(以括号为标志)字符串  RegExp.$1
    format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
  }

  for(var k in o){
    if(new RegExp("("+ k +")").test(format)){
      format = format.replace(
        RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));  
    }       
  }

  return format;
}
全部评论

相关推荐

9 收藏 评论
分享
牛客网
牛客企业服务