Appearance

日期格式化

  • $.fmtDate(format,date) 将日期或者时间戳转为常见日期格式。
  • format是格式化的字符串,例如: yyyy-MM-dd HH:mm:ss
  • date参数为空,取 当前页面打开的服务器时间

示例代码

$.fmtDate('yy-MM-dd HH:mm:ss'); //获取当前页面打开服务器时间
$.fmtDate('yy-MM-dd HH:mm:ss', new Date()); //获取客户端当前时间
$.fmtDate('yy-MM-dd HH:mm', '2019-12-04 14:15:47');
$.fmtDate('yy-MM-dd HH:mm', 1677035221149000);

源代码

...
fmtDate: function (format, date) {
  var nowTime = window.sysNowTime || '';
  var format = format || "YYYY-MM-dd HH:mm:ss";
  date = date || (nowTime?nowTime:new Date());
  var str = date.toString();
  str = str.replace(/-/g, "/");
  if(/^([1-9]\d*)$/.test(str)){str = str*1};//时间戳处理
  date = new Date(str);
  var o = {
      "M+": date.getMonth() + 1, //month
      "d+": date.getDate(), //day
      "h+": date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, //hour
      "H+": date.getHours(), //hour
      "m+": date.getMinutes(), //minute
      "s+": date.getSeconds(), //second
      "q+": Math.floor((date.getMonth() + 3) / 3), //quarter
      "S": date.getMilliseconds() //millisecond
  };
  var week = {
      "0": "\u65e5",
      "1": "\u4e00",
      "2": "\u4e8c",
      "3": "\u4e09",
      "4": "\u56db",
      "5": "\u4e94",
      "6": "\u516d"
  };
  if (/(y+)/.test(format)) {
      format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  }

  if (/(E+)/.test(format)) {
      format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[this.getDay() + ""]);
  }
  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;
},
...