24 lines
859 B
TypeScript
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");
|
|
};
|
|
}
|
|
}
|