From c3385af9bc0c7c83ee5c40245031c34ec5565e89 Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Tue, 11 Mar 2025 15:51:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=8E=B7=E5=8F=96=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=9A=84ISO=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/tools.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/utils/tools.ts b/src/utils/tools.ts index 75829ee..3e0c91d 100644 --- a/src/utils/tools.ts +++ b/src/utils/tools.ts @@ -75,6 +75,26 @@ export const array = { }, }; +/** date相关工具 */ +export const date = { + /** + * 获取本地时间的ISO字符串 + * @param date {string | Date} 日期字符串或Date对象 + * @returns {string} 本地时间的ISO字符串 '2022-01-01T08:00:00.000Z' + * @example + * getLocalISOString('2022-01-01 00:00:00') // '2022-01-01T00:00:00.000Z' + * getLocalISOString(new Date('2022-01-01 00:00:00')) // '2022-01-01T00:00:00.000Z' + */ + getLocalISOString: (date: string | Date): string => { + const localDate = new Date(date); + // 获取本地时间偏移量(这里特指中国utc+8) + const offset = localDate.getTimezoneOffset() * 60000; + // 获取utc的本地时间 + const utcDate = new Date(localDate.getTime() - offset); + return utcDate.toISOString(); + }, +}; + export const generateUUID = () => { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { const r = (Math.random() * 16) | 0,