When JavaScript Decided My Day Starts at 9AM
10 months ago
- #JavaScript
- #Date Handling
- #Time Zones
- new Date('2000-01-01') 创建的是UTC午夜时间,而非本地时间。
- 在日本(UTC+9时区)这会生成2000-01-01T09:00:00时间,导致仪表板过滤器遗漏上午9点前的数据。
- 该错误源于Date构造函数默认使用UTC时区,从而引发错误的日期比较。
- 修复方案需明确设置为本地午夜时间,并调整最大日期范围参数。
- 经验教训包括:谨慎处理日期字符串解析,优先采用显式时间设置。