update timezone

This commit is contained in:
mamoss 2025-10-22 23:20:18 +07:00
parent 55d6ec73ff
commit e6329e7922
2 changed files with 28 additions and 0 deletions

View file

@ -13,12 +13,16 @@ import { OrganizationController } from "./controllers/OrganizationController";
import logMiddleware from "./middlewares/logs";
import { CommandController } from "./controllers/CommandController";
import { ProfileSalaryController } from "./controllers/ProfileSalaryController";
import { DateSerializer } from "./interfaces/date-serializer";
import { initWebSocket } from "./services/webSocket";
async function main() {
await AppDataSource.initialize();
// Setup custom Date serialization for local timezone
DateSerializer.setupDateSerialization();
initWebSocket();
const app = express();

View file

@ -0,0 +1,24 @@
// Custom Date serializer for local timezone
export class DateSerializer {
static toLocalTime(date: Date): string | null {
if (!date) return null;
// Convert UTC date to Thailand timezone (+07:00)
const offset = 7 * 60; // Thailand is UTC+7
const localTime = new Date(date.getTime() + offset * 60 * 1000);
// Format as ISO string but replace Z with +07:00
const isoString = localTime.toISOString();
return isoString.replace("Z", "+07:00");
}
static setupDateSerialization() {
// Override Date.prototype.toJSON to use local time
Date.prototype.toJSON = function () {
const offset = 7 * 60; // Thailand timezone offset in minutes
const localTime = new Date(this.getTime() + offset * 60 * 1000);
const isoString = localTime.toISOString();
return isoString.replace("Z", "+07:00");
};
}
}