I'd like to serialize a std::chrono::local_time
by sending it's time_since_epoch().count()
value. My question is how is a non-C++ receiver supposed to interpret that value? Is it the actual number of ticks since the epoch at local midnight (1970-01-01T00:00:00)? What about daylight saving time changes? Is the time_since_epoch()
bijective with the wall clock time? That is, can there be two values of std::chrono::local_time::time_since_spoch()
that represent the same wall clock/calendar time?
I cannot find detailed information about the interpretation of std::chrono::local_time::time_since_spoch()
at the usual places: cppreference, the latest C++ standard draft, or Howard Hinnant's date library documentation.
'Why even serialize a std::chrono::local_time
?', you may ask. Well, a use case would be a building automation system that must perform a certain task at a given local time on a special day, regardless of timezones or daylight saving time. For example, "turn off the lights at 20:00 local time on Earth Day, 2021 (April 22).
EDIT: 'Why not serialize it as an ISO8601 date/time (without any offset), you may ask?'. I want to serialize it as a compact number using a binary protocol, such as CBOR.