123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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
- }
|