tzfileLocationToNativeLocation function
Convert tzfile.Location to Location
Implementation
Location tzfileLocationToNativeLocation(tzfile.Location loc) {
// convert to milliseconds
final transitionAt = loc.transitionAt
.map(
(i) => (i < -_maxSecondsSinceEpoch)
? -_maxMillisecondsSinceEpoch
: i * 1000,
)
.toList();
final zones = <TimeZone>[];
for (final z in loc.zones) {
zones.add(
TimeZone(
z.offset * 1000,
isDst: z.isDst,
abbreviation: loc.abbreviations[z.abbreviationIndex],
),
);
}
return Location(loc.name, transitionAt, loc.transitionZone, zones);
}