mirror of
https://github.com/HowardHinnant/date.git
synced 2024-12-25 23:40:53 +08:00
Guard against Posix::time_zone having transition near ...
beginning or end of year.
This commit is contained in:
parent
5f8c904231
commit
28972d72b4
@ -452,6 +452,10 @@ time_zone::get_info(date::sys_time<Duration> st) const
|
||||
if (start_rule_.ok())
|
||||
{
|
||||
auto y = year_month_day{floor<days>(st)}.year();
|
||||
if (st >= get_next_start(y))
|
||||
++y;
|
||||
else if (st < get_prev_end(y))
|
||||
--y;
|
||||
auto start = get_start(y);
|
||||
auto end = get_end(y);
|
||||
if (start <= end) // (northern hemisphere)
|
||||
@ -505,6 +509,7 @@ time_zone::get_info(date::sys_time<Duration> st) const
|
||||
}
|
||||
else
|
||||
r = contant_offset();
|
||||
assert(r.begin <= st && st < r.end);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user