index.js 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import convert from '../convert'
  2. import native from './native'
  3. export default {
  4. native,
  5. getDateRange(n = 30, endn = 0) {
  6. // 获取当前日期
  7. var myDate = new Date(Date.now() - 1000 * 60 * 60 * 24 * endn)
  8. var nowY = myDate.getFullYear()
  9. var nowM = myDate.getMonth() + 1
  10. var nowD = myDate.getDate()
  11. var nowH = myDate.getHours() < 10 ? '0' + myDate.getHours() : myDate.getHours()
  12. var nowMi = myDate.getMinutes() < 10 ? '0' + myDate.getMinutes() : myDate.getMinutes()
  13. var nowS = myDate.getSeconds() < 10 ? '0' + myDate.getSeconds() : myDate.getSeconds()
  14. var enddate = nowY + '-' + (nowM < 10 ? '0' + nowM : nowM) + '-' + (nowD < 10 ? '0' + nowD : nowD) + ' ' + nowH + ':' + nowMi + ':' + nowS
  15. // 获取三十天前日期
  16. var lw = new Date(myDate - 1000 * 60 * 60 * 24 * n)
  17. var lastY = lw.getFullYear()
  18. var lastM = lw.getMonth() + 1
  19. var lastD = lw.getDate()
  20. var lastH = lw.getHours() < 10 ? '0' + lw.getHours() : lw.getHours()
  21. var lastMi = lw.getMinutes() < 10 ? '0' + lw.getMinutes() : lw.getMinutes()
  22. var lastS = lw.getSeconds() < 10 ? '0' + lw.getSeconds() : lw.getSeconds()
  23. var startdate = lastY + '-' + (lastM < 10 ? '0' + lastM : lastM) + '-' + (lastD < 10 ? '0' + lastD : lastD) + ' ' + lastH + ':' + lastMi + ':' + lastS
  24. return { startdate, enddate }
  25. },
  26. getFullFileUrl(url) {
  27. return url ? process.env.VUE_APP_FILE_URL + url : ''
  28. },
  29. isTypeof(option) {
  30. var value = Object.prototype.toString.call(option)
  31. if (value === '[object Undefined]') return 'undefined'
  32. else if (value === '[object String]') return 'string'
  33. else if (value === '[object Boolean]') return 'boolean'
  34. else if (value === '[object Number]') return 'number'
  35. else if (value === '[object Null]') return 'null'
  36. else if (value === '[object Object]') return 'object'
  37. else if (value === '[object Array]') return 'array'
  38. else if (value === '[object Date]') return 'date'
  39. else if (value === '[object RegExp]') return 'regexp'
  40. else if (value === '[object Function]') return 'function'
  41. },
  42. formateTData(date, fmt) { // 字符串
  43. if (date) {
  44. if (fmt == 'date') {
  45. return this.formatDate(date, 'yyyy-MM-dd')
  46. } else if (fmt == 'all') {
  47. return this.formatDate(date, 'yyyy-MM-dd hh:mm:ss')
  48. } else if (fmt == 'hour') {
  49. return this.formatDate(date, 'yyyy-MM-dd hh')
  50. } else if (fmt == 'time') {
  51. return this.formatDate(date, 'hh:mm')
  52. } else {
  53. return this.formatDate(date, 'yyyy-MM-dd hh:mm')
  54. }
  55. }
  56. return ''
  57. },
  58. formatDate(date, fmt = 'yyyy-MM-dd hh:mm:ss') { // date对象
  59. if (convert.isNull(date)) return date
  60. var padLeftZero = function (str) {
  61. return ('00' + str).substr(str.length)
  62. }
  63. if (this.isTypeof(date) === 'string') {
  64. let tmpDate = date.replace(/-/g, '/')
  65. tmpDate = tmpDate.replace(/T/g, ' ')
  66. date = new Date(tmpDate)
  67. } else if (this.isTypeof(date) == 'number') {
  68. date = new Date(date)
  69. }
  70. if (/(y+)/.test(fmt)) {
  71. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  72. }
  73. const o = {
  74. 'M+': date.getMonth() + 1,
  75. 'd+': date.getDate(),
  76. 'h+': date.getHours(),
  77. 'm+': date.getMinutes(),
  78. 's+': date.getSeconds()
  79. }
  80. for (var k in o) {
  81. if (new RegExp(`(${k})`).test(fmt)) {
  82. var str = o[k] + ''
  83. fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str))
  84. }
  85. }
  86. return fmt
  87. }
  88. }