-
Notifications
You must be signed in to change notification settings - Fork 172
Open
Description
Hi,
There are cases where first parsing a std::chrono time point and then converting it to cctz::civil_second is cumbersome.
As an example, when parsing the time of day "07:30:12.123" for a calendar, or a recurring event, it is currently required to first parse the absolute time and then try to get rid of the date offset, and time zone shift.
A quick glance in cctz.git/src/time_zone_format.cc suggests that parse() generates a civil_second anyway, before converting to an absolute time.
Might it make sense to expose this to the API, for example by splitting cctz::parse() in two functions? Conceptually, like this:
bool cctz::parse (const std::string& format, const std::string& input,
const time_zone& tz, cctz::civil_second* cs,
std::chrono::nanoseconds* ns) {
/* Mostly the current implementation in cctz.git/src/time_zone_format.cc,
* but returning cs and _not_ calling ptz.lookup().
*/
}
bool cctz::parse (const std::string& format, const std::string& input,
const time_zone& tz, time_point<sys_seconds>* sec,
std::chrono::nanoseconds* ns) {
cctz::civil_second cs;
bool retval = cctz::parse(format, input, tz, &cs, ns);
*sec = cctz::convert(cs, tz);
return retval;
}
What do you think?
floatdrop
Metadata
Metadata
Assignees
Labels
No labels