File tree 1 file changed +9
-3
lines changed
1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -142,7 +142,7 @@ export class ParsingComponents implements ParsedComponents {
142
142
143
143
date ( ) : Date {
144
144
const date = this . dateWithoutTimezoneAdjustment ( ) ;
145
- return new Date ( date . getTime ( ) + this . getSystemTimezoneAdjustmentMinute ( ) * 60000 ) ;
145
+ return new Date ( date . getTime ( ) + this . getSystemTimezoneAdjustmentMinute ( date ) * 60000 ) ;
146
146
}
147
147
148
148
private dateWithoutTimezoneAdjustment ( ) {
@@ -160,8 +160,14 @@ export class ParsingComponents implements ParsedComponents {
160
160
return date ;
161
161
}
162
162
163
- private getSystemTimezoneAdjustmentMinute ( ) {
164
- const currentTimezoneOffset = - new Date ( ) . getTimezoneOffset ( ) ;
163
+ private getSystemTimezoneAdjustmentMinute ( date ?: Date ) {
164
+ if ( ! date || date . getTime ( ) < 0 ) {
165
+ // Javascript date timezone calculation got effect when the time epoch < 0
166
+ // e.g. new Date('Tue Feb 02 1300 00:00:00 GMT+0900 (JST)') => Tue Feb 02 1300 00:18:59 GMT+0918 (JST)
167
+ date = new Date ( ) ;
168
+ }
169
+
170
+ const currentTimezoneOffset = - date . getTimezoneOffset ( ) ;
165
171
const targetTimezoneOffset =
166
172
this . get ( "timezoneOffset" ) ?? this . reference . timezoneOffset ?? currentTimezoneOffset ;
167
173
You can’t perform that action at this time.
0 commit comments