index.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import convert from '../convert'
  2. export default {
  3. getFullFileUrl(url) {
  4. return url ? process.env.VUE_APP_FILE_URL + url : ''
  5. },
  6. isTypeof(option) {
  7. var value = Object.prototype.toString.call(option)
  8. if (value === '[object Undefined]') return 'undefined'
  9. else if (value === '[object String]') return 'string'
  10. else if (value === '[object Boolean]') return 'boolean'
  11. else if (value === '[object Number]') return 'number'
  12. else if (value === '[object Null]') return 'null'
  13. else if (value === '[object Object]') return 'object'
  14. else if (value === '[object Array]') return 'array'
  15. else if (value === '[object Date]') return 'date'
  16. else if (value === '[object RegExp]') return 'regexp'
  17. else if (value === '[object Function]') return 'function'
  18. },
  19. formateTData(date, fmt) { // 字符串
  20. if (date) {
  21. if (fmt == 'date') {
  22. return this.formatDate(date, 'yyyy-MM-dd')
  23. } else if (fmt == 'all') {
  24. return this.formatDate(date, 'yyyy-MM-dd hh:mm:ss')
  25. } else if (fmt == 'hour') {
  26. return this.formatDate(date, 'yyyy-MM-dd hh')
  27. } else if (fmt == 'time') {
  28. return this.formatDate(date, 'hh:mm')
  29. } else {
  30. return this.formatDate(date, 'yyyy-MM-dd hh:mm')
  31. }
  32. }
  33. return ''
  34. },
  35. formatDate(date, fmt = 'yyyy-MM-dd hh:mm:ss') { // date对象
  36. if (convert.isNull(date)) return date
  37. var padLeftZero = function (str) {
  38. return ('00' + str).substr(str.length)
  39. }
  40. if (this.isTypeof(date) === 'string') {
  41. let tmpDate = date.replace(/-/g, '/')
  42. tmpDate = tmpDate.replace(/T/g, ' ')
  43. date = new Date(tmpDate)
  44. } else if (this.isTypeof(date) == 'number') {
  45. date = new Date(date)
  46. }
  47. if (/(y+)/.test(fmt)) {
  48. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  49. }
  50. const o = {
  51. 'M+': date.getMonth() + 1,
  52. 'd+': date.getDate(),
  53. 'h+': date.getHours(),
  54. 'm+': date.getMinutes(),
  55. 's+': date.getSeconds()
  56. }
  57. for (var k in o) {
  58. if (new RegExp(`(${k})`).test(fmt)) {
  59. var str = o[k] + ''
  60. fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str))
  61. }
  62. }
  63. return fmt
  64. }
  65. }