faster date processing by reusing string stream

This commit is contained in:
VaclavT 2021-08-23 18:14:26 +02:00
parent 0e90d6047c
commit 85bc6c9363
1 changed files with 6 additions and 2 deletions

View File

@ -23,15 +23,19 @@ std::string date_to_string(const long datetime, const std::string format) {
return "invalid argument";
}
std::istringstream string_to_date_in_ss;
long string_to_date(const std::string &datestr, const std::string &format) {
// format for example "%d.%m.%Y";
std::istringstream in{datestr.c_str()};
string_to_date_in_ss.clear();
string_to_date_in_ss.str(datestr);
date::sys_seconds tp;
in >> date::parse(format, tp);
date::from_stream(string_to_date_in_ss, format.c_str(), tp);
return tp.time_since_epoch().count();
}
long add_to_date(const long datetime, const long quantity, const std::string &part) {
// part is one of 'year', 'month', 'day', 'hour', 'minute' or 'second'