fix the dates in Statistics & Analysis page does not be processed for daylight saving time

This commit is contained in:
MaysWind
2025-12-21 02:35:11 +08:00
parent a09d7b57f9
commit d95e34a597
14 changed files with 171 additions and 94 deletions
+4
View File
@@ -521,6 +521,10 @@ export function getBrowserTimezoneOffsetMinutes(): number {
return -new Date().getTimezoneOffset();
}
export function guessTimezoneName(): string {
return moment.tz.guess(true);
}
export function getLocalDatetimeFromUnixTime(unixTime: number): Date {
return new Date(unixTime * 1000);
}
+15 -1
View File
@@ -167,13 +167,19 @@ import {
isBoolean,
objectFieldWithValueToArrayItem
} from './common.ts';
import {
getTimeZone
} from './settings.ts';
import {
getGoogleMapAPIKey,
getBaiduMapAK,
getAmapApplicationKey,
getExchangeRatesRequestTimeout
} from './server_settings.ts';
import { getTimezoneOffsetMinutes } from './datetime.ts';
import {
getTimezoneOffsetMinutes,
guessTimezoneName
} from './datetime.ts';
import { generateRandomUUID } from './misc.ts';
import { getBasePath } from './web.ts';
import logger from './logger.ts';
@@ -204,6 +210,14 @@ axios.interceptors.request.use((config: ApiRequestConfig) => {
config.headers['X-Timezone-Offset'] = getTimezoneOffsetMinutes();
let timezoneName = getTimeZone();
if (!timezoneName || timezoneName.trim().length < 1) {
timezoneName = guessTimezoneName();
}
config.headers['X-Timezone-Name'] = timezoneName;
if (needBlockRequest && !config.ignoreBlocked) {
return new Promise(resolve => {
blockedRequests.push(newToken => {
+4
View File
@@ -89,6 +89,10 @@ export function getTheme(): string {
return getApplicationSettings().theme;
}
export function getTimeZone(): string {
return getApplicationSettings().timeZone;
}
export function isEnableApplicationLock(): boolean {
return getApplicationSettings().applicationLock;
}
+2 -1
View File
@@ -202,6 +202,7 @@ import {
getTimeDifferenceHoursAndMinutes,
getTimezoneOffset,
getTimezoneOffsetMinutes,
guessTimezoneName,
isDateRangeMatchFullMonths,
isDateRangeMatchFullYears,
isPM
@@ -2316,7 +2317,7 @@ export function useI18n() {
logger.info(`Current timezone is ${timezone}`);
setTimeZone(timezone);
} else {
logger.info(`No timezone is set, use browser default ${getTimezoneOffset()} (maybe ${moment.tz.guess(true)})`);
logger.info(`No timezone is set, use browser default ${getTimezoneOffset()} (maybe ${guessTimezoneName()})`);
setTimeZone('');
}