const REGEX_FORMAT = new RegExp("([^\]]+)|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS", "gi") export const formatDate = (value, format = 'YYYY-MM-DD') => { if (!value) return '' // ios 和 mac 系统中,带横杆的字符串日期是格式不了的,这里做一下判断处理 if (typeof value === "string" && new Date(value).toString() === "Invalid Date") { value = value.replace(/-/g, "/"); } const date = new Date(value) const year = date.getFullYear() const month = date.getMonth() const days = date.getDate() const day = date.getDay() const hours = date.getHours() const minutes = date.getMinutes() const seconds = date.getSeconds() const milliseconds = date.getMilliseconds() const matches = { YY: String(year).slice(-2), yy: String(year).slice(-2), YYYY: year, yyyy: year, M: month + 1, MM: `${month + 1}`.padStart(2, '0'), D: String(days), DD: `${days}`.padStart(2, '0'), H: String(hours), HH: `${hours}`.padStart(2, '0'), h: `${hours % 12 || 12}`.padStart(1, '0'), hh: `${hours % 12 || 12}`.padStart(2, '0'), m: String(minutes), mm: `${minutes}`.padStart(2, '0'), s: String(seconds), ss: `${seconds}`.padStart(2, '0'), SSS: `${milliseconds}`.padStart(3, '0'), d: day, } return format.replace(REGEX_FORMAT, (match, $1) => $1 || matches[match]) } /** * 传入一个对象和布尔值,return根据ASCII码升序或者降序的对象 * isSort: true代表升序,false代表降序 * */ export const sortASCII = (obj,isSort) => { let arr = [] Object.keys(obj).forEach(item => arr.push(item)) let sortArr = isSort ? arr.sort() : arr.sort().reverse() let sortObj = {} for (let i in sortArr) { sortObj[sortArr[i]] = obj[sortArr[i]] } return sortObj }