refactor(server): 日期/月份格式化统一改用 dayjs

- 替换散落的 toISOString().slice(0,10) / split('T')[0] / replace('T',' ')(UTC 语义用 dayjs(...).utc() 保持完全一致)
- Asia/Shanghai 固定时区日期(Intl.DateTimeFormat en-CA)改用 dayjs().utcOffset(8)
- 月份边界 first/last、daysInMonth、nextMonth、shiftDate/addDays 等改 dayjs 简洁实现
- 涉及 attendance/classes/classrooms/room/dashboard/bills/expenses/occupancies/sync/ai-chat/rental 等 28 个文件
This commit is contained in:
2026-08-08 17:52:32 +08:00
parent 92ba2e779f
commit 8936453e84
28 changed files with 82 additions and 112 deletions

View File

@@ -2,6 +2,7 @@ import { BadRequestException, Injectable, Logger } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, In } from 'typeorm';
import { Subject, Observable } from 'rxjs';
import dayjs from '../common/dayjs';
import {
DingAttendanceRaw,
Student,
@@ -238,7 +239,7 @@ export class AttendanceImportService {
}
private formatDate(value: Date): string {
return value.toISOString().slice(0, 10);
return dayjs.utc(value).format('YYYY-MM-DD');
}
/**