index.js 904 B

12345678910111213141516171819202122232425262728293031323334
  1. import Vue from 'vue'
  2. Vue.filter('timeFormat', function (date, fmt) {
  3. if (!date) {
  4. return '';
  5. }
  6. if(typeof date === 'number'){
  7. date = new Date(date);
  8. }
  9. if (typeof date === 'string') {
  10. var dateArr = date.split(/[- : \/]/);
  11. date = new Date(dateArr[0], dateArr[1] - 1, dateArr[2], dateArr[3], dateArr[4], dateArr[5]);
  12. }
  13. if (/(y+)/.test(fmt)) {
  14. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  15. }
  16. let o = {
  17. 'M+': date.getMonth() + 1,
  18. 'd+': date.getDate(),
  19. 'H+': date.getHours(),
  20. 'm+': date.getMinutes(),
  21. 's+': date.getSeconds()
  22. };
  23. for (let k in o) {
  24. if (new RegExp(`(${k})`).test(fmt)) {
  25. let str = o[k] + '';
  26. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
  27. }
  28. }
  29. function padLeftZero(str) {
  30. return ('00' + str).substr(str.length);
  31. }
  32. return fmt;
  33. })