在Date原型中添加格式化

  1. Date.prototype.format = function(fmt){
  2. var o = {
  3. "M+" : this.getMonth()+1, //月份
  4. "d+" : this.getDate(), //日
  5. "h+" : this.getHours(), //小时
  6. "m+" : this.getMinutes(), //分
  7. "s+" : this.getSeconds(), //秒
  8. "q+" : Math.floor((this.getMonth()+3)/3), //季度
  9. "S" : this.getMilliseconds() //毫秒
  10. };
  11. if(/(y+)/.test(fmt)){
  12. fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  13. }
  14. for(var k in o){
  15. if(new RegExp("("+ k +")").test(fmt)){
  16. fmt = fmt.replace(
  17. RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  18. }
  19. }
  20. return fmt;
  21. }

时间格式化—普通方法

  1. function dateFormat(fmt, date) {
  2. let ret;
  3. const opt = {
  4. "Y+": date.getFullYear().toString(), // 年
  5. "m+": (date.getMonth() + 1).toString(), // 月
  6. "d+": date.getDate().toString(), // 日
  7. "H+": date.getHours().toString(), // 时
  8. "M+": date.getMinutes().toString(), // 分
  9. "S+": date.getSeconds().toString() // 秒
  10. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  11. };
  12. for (let k in opt) {
  13. ret = new RegExp("(" + k + ")").exec(fmt);
  14. if (ret) {
  15. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  16. };
  17. };
  18. return fmt;
  19. }