From 25668ac558cebdff720e4b1d75995761a1a8003b Mon Sep 17 00:00:00 2001 From: puhui999 Date: Wed, 22 Mar 2023 17:47:08 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E8=BF=81=E7=A7=BBv2=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E6=9C=9F=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=88=B0vue3=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/formatTime.ts | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/utils/formatTime.ts b/src/utils/formatTime.ts index 39671279..f0cf0736 100644 --- a/src/utils/formatTime.ts +++ b/src/utils/formatTime.ts @@ -64,6 +64,51 @@ export function formatDate(date: Date, format: string): string { } return format } +// 日期格式化 +export function parseTime(time: any, pattern?: string) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if (typeof time === 'string' && /^[0-9]+$/.test(time)) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time + .replace(new RegExp(/-/gm), '/') + .replace('T', ' ') + .replace(new RegExp(/\.\d{3}/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) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value] + } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} /** * 获取当前日期是第几周