Skip to content

Commit 8f0192f

Browse files
committed
Support discontinuity between time zone rules and historic data
1 parent 685948a commit 8f0192f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

core/native/src/internal/TimeZoneRules.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ internal class RecurringZoneRules(
350350
var offset = offsetAtYearStart
351351
for (rule in rulesForYear(approximateYear)) {
352352
if (instant < rule.transitionDateTime) {
353-
return offset
353+
return rule.offsetBefore
354354
}
355355
offset = rule.offsetAfter
356356
}
@@ -371,14 +371,14 @@ internal class RecurringZoneRules(
371371
val ldtBefore = rule.transitionDateTime.toLocalDateTime(rule.offsetBefore)
372372
val ldtAfter = rule.transitionDateTime.toLocalDateTime(rule.offsetAfter)
373373
return if (localDateTime < ldtBefore && localDateTime < ldtAfter) {
374-
Regular(offset)
374+
Regular(rule.offsetBefore)
375375
} else if (localDateTime > ldtBefore && localDateTime >= ldtAfter) {
376376
offset = rule.offsetAfter
377377
continue
378378
} else if (ldtAfter < ldtBefore) {
379-
Overlap(rule.transitionDateTime, offset, rule.offsetAfter)
379+
Overlap(rule.transitionDateTime, rule.offsetBefore, rule.offsetAfter)
380380
} else {
381-
Gap(rule.transitionDateTime, offset, rule.offsetAfter)
381+
Gap(rule.transitionDateTime, rule.offsetBefore, rule.offsetAfter)
382382
}
383383
}
384384
return Regular(offset)

0 commit comments

Comments
 (0)