diff --git a/src/utils/index.js b/src/utils/index.js index 04464ba..7020ae0 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -88,5 +88,50 @@ export function throttle(func, wait) { }; } - +/** + * Parse the time to string + * @param {(Object|string|number)} time + * @param {string} cFormat + * @returns {string | null} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0 || !time) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string')) { + if ((/^[0-9]+$/.test(time))) { + // support "1548221490638" + time = parseInt(time) + } else { + // support safari + time = time.replace(new RegExp(/-/gm), '/') + } + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { + const value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] } + return value.toString().padStart(2, '0') + }) + return time_str +} diff --git a/src/views/modules/vipList/userList.vue b/src/views/modules/vipList/userList.vue index 6e68754..a23e489 100644 --- a/src/views/modules/vipList/userList.vue +++ b/src/views/modules/vipList/userList.vue @@ -441,6 +441,7 @@