From 82711a96455cb0af85aa8bad1eb9ddd1a1a88188 Mon Sep 17 00:00:00 2001 From: Phoenix <64720302+Concur-max@users.noreply.github.com> Date: Mon, 26 May 2025 14:12:54 +0800 Subject: [PATCH] =?UTF-8?q?stock-quote=E6=97=B6=E9=97=B4=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/stock-quote/index.js | 52 +++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/src/store/stock-quote/index.js b/src/store/stock-quote/index.js index df54172..8a332b3 100644 --- a/src/store/stock-quote/index.js +++ b/src/store/stock-quote/index.js @@ -14,23 +14,47 @@ export const useStockQuote = createGlobalState(() => { "" ] }) - const date = new Date(); -const options = { - year: 'numeric', - month: 'short', - day: 'numeric', - hour: 'numeric', - minute: '2-digit', - hour12: true, - timeZone: 'America/New_York', - timeZoneName: 'short' -}; -const formatted = ref(date.toLocaleString('en-US', options)) -const getStockQuate= async()=>{ + // 计算美东时间的当前时间 + function getTargetFridayTime() { + // 当前美东时间 + const now = new Date(new Date().toLocaleString('en-US', { timeZone: 'America/New_York' })) + // 获取今天是周几(0=周日, 1=周一, ..., 5=周五, 6=周六) + const day = now.getDay() + // 计算本周五的日期 + const diffToFriday = 5 - day + const thisFriday = new Date(now) + thisFriday.setDate(now.getDate() + diffToFriday) + thisFriday.setHours(16, 0, 0, 0) // 设置为16:00:00 + + if (now >= thisFriday) { + // 当前时间在本周五16:00及以后,显示本周五16:00 + return thisFriday + } else { + // 当前时间早于本周五16:00,显示上周五16:00 + const lastFriday = new Date(thisFriday) + lastFriday.setDate(thisFriday.getDate() - 7) + return lastFriday + } + } + + const options = { + year: 'numeric', + month: 'short', + day: 'numeric', + hour: 'numeric', + minute: '2-digit', + hour12: true, + timeZone: 'America/New_York', + timeZoneName: 'short' + }; + + const formatted = ref(getTargetFridayTime().toLocaleString('en-US', options)) + + const getStockQuate= async()=>{ const res = await axios.get('https://saas-test.szjixun.cn/api/chart/forward/test') stockQuote.value=res.data -} + } return { formatted, getStockQuate,