dateFormat.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. export default function dateFormat(format, v) {
  2. if (v) {
  3. var o = {
  4. "M+": v.getMonth() + 1, //月份
  5. "d+": v.getDate(), //日
  6. "h+": v.getHours() % 12 == 0 ? 12 : v.getHours() % 12, //小时
  7. "H+": v.getHours(), //小时
  8. "m+": v.getMinutes(), //分
  9. "s+": v.getSeconds(), //秒
  10. "q+": Math.floor((v.getMonth() + 3) / 3), //季度
  11. S: v.getMilliseconds(), //毫秒
  12. };
  13. var week = {
  14. 0: "\u65e5",
  15. 1: "\u4e00",
  16. 2: "\u4e8c",
  17. 3: "\u4e09",
  18. 4: "\u56db",
  19. 5: "\u4e94",
  20. 6: "\u516d",
  21. };
  22. if (/(y+)/.test(format)) {
  23. format = format.replace(
  24. RegExp.$1,
  25. (v.getFullYear() + "").substr(4 - RegExp.$1.length)
  26. );
  27. }
  28. if (/(E+)/.test(format)) {
  29. format = format.replace(
  30. RegExp.$1,
  31. (RegExp.$1.length > 1
  32. ? RegExp.$1.length > 2
  33. ? "\u661f\u671f"
  34. : "\u5468"
  35. : "") + week[v.getDay() + ""]
  36. );
  37. }
  38. for (var k in o) {
  39. if (new RegExp("(" + k + ")").test(format)) {
  40. format = format.replace(
  41. RegExp.$1,
  42. RegExp.$1.length == 1
  43. ? o[k]
  44. : ("00" + o[k]).substr(("" + o[k]).length)
  45. );
  46. }
  47. }
  48. return format;
  49. }
  50. }