formatDate.js 799 B

12345678910111213141516171819202122232425262728293031323334
  1. function padLeftZero(str) {
  2. return ('00' + str).substr(str.length)
  3. }
  4. export function formatDate(date, fmt) {
  5. if (!date) {
  6. return ''
  7. }
  8. if (/(y+)/.test(fmt)) {
  9. fmt = fmt.replace(
  10. RegExp.$1,
  11. (date.getFullYear() + '').substr(4 - RegExp.$1.length)
  12. )
  13. }
  14. const o = {
  15. 'M+': date.getMonth() + 1,
  16. 'd+': date.getDate(),
  17. 'h+': date.getHours(),
  18. 'm+': date.getMinutes(),
  19. 's+': date.getSeconds()
  20. }
  21. for (const k in o) {
  22. if (new RegExp(`(${k})`).test(fmt)) {
  23. const str = o[k] + ''
  24. fmt = fmt.replace(
  25. RegExp.$1,
  26. RegExp.$1.length === 1 ? str : padLeftZero(str)
  27. )
  28. }
  29. }
  30. return fmt
  31. }
  32. export default formatDate