~/talk

C++20’s <chrono> Calendars and Time Zones in MSVC

Talkat CppCon 2021 · on Thursday, 2021-10-28· at 10:30· Online E, online· [software-architecture]
links:none on file
slides:none on file

C++20’s chrono in MSVC implements calendrical types, clock_cast conversions, and time zone support; utc_clock tracks leap seconds and clock_cast accounts for epoch differences (example: 10s epoch offset + 27 leap seconds = 37s). Leap seconds post‑2018 are read from the Windows registry while pre‑2018 values live in a static constexpr table. Time zone data comes from ICU on modern Windows (ICU ≈ derived from IANA), and local_time ↔ sys_time can throw ambiguous_local_time or nonexistent_local_time for DST transitions.

AI-written summary · about

  1. 0:00Introduction
  2. 3:36Development Process
  3. 9:22Some examples: Simple Calendrical Types (continued)
  4. 11:40Some examples: Compound Calendrical Types
  5. 18:22Full example
  6. 19:53Why calendrical types? Type Safety
  7. 21:30Why calendrical types? Abstraction
  8. 22:29What is a clock?
  9. 31:50clock_cast example
  10. 38:48sys_time and local_time conversions
  11. 41:28ambiguous_local_time example
  12. 43:29nonexistent_local_time example
  13. 47:45The MSVC story for time zone data
  14. 50:18Differences between IANA and ICU time zone data
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.