mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
fix(admin): 修复时区转换和时间显示格式问题
- 修复小时粒度下时间显示为完整日期的问题 - 修复时区转换逻辑,使用正确的UTC偏移计算 - 统一时间标签格式:小时粒度显示MM/DD HH:00,天粒度显示MM/DD - 修复图表时间显示比实际时间快7小时的问题
This commit is contained in:
@@ -5,8 +5,9 @@ const logger = require('../utils/logger');
|
||||
// 时区辅助函数
|
||||
function getDateInTimezone(date = new Date()) {
|
||||
const offset = config.system.timezoneOffset || 8; // 默认UTC+8
|
||||
const utcTime = date.getTime() + (date.getTimezoneOffset() * 60000);
|
||||
const targetTime = new Date(utcTime + (offset * 3600000));
|
||||
// 直接基于UTC时间计算目标时区时间
|
||||
// 不需要考虑本地时区,因为我们总是基于UTC
|
||||
const targetTime = new Date(date.getTime() + (offset * 3600000));
|
||||
return targetTime;
|
||||
}
|
||||
|
||||
|
||||
@@ -1341,8 +1341,8 @@ router.get('/usage-trend', authenticateAdmin, async (req, res) => {
|
||||
}
|
||||
|
||||
trendData.push({
|
||||
date: dateStr, // 保持日期格式一致
|
||||
hour: currentHour.toISOString(),
|
||||
// 对于小时粒度,只返回hour字段,不返回date字段
|
||||
hour: tzCurrentHour.toISOString(), // 使用转换后的时区时间
|
||||
inputTokens: hourInputTokens,
|
||||
outputTokens: hourOutputTokens,
|
||||
requests: hourRequests,
|
||||
@@ -1710,7 +1710,7 @@ router.get('/api-keys-usage-trend', authenticateAdmin, async (req, res) => {
|
||||
const keys = await client.keys(pattern);
|
||||
|
||||
const hourData = {
|
||||
hour: currentHour.toISOString(),
|
||||
hour: tzCurrentHour.toISOString(), // 使用转换后的时区时间
|
||||
apiKeys: {}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user