hrms-api-org/src/interfaces/date-serializer.ts
2025-10-22 23:20:18 +07:00

24 lines
859 B
TypeScript

// 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");
};
}
}