11 using time_ms =
unsigned long;
12 using timept = std::chrono::high_resolution_clock::time_point;
20 return std::chrono::high_resolution_clock::now();
23 time_ms time_since(timept x) {
29 return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now()-x).
count();
41 tic_elapsed = time_since(tic_start);
44 double elapsed_seconds() {
50 return tic_elapsed / 1000.0;
54 std::string datestring() {
67 timeinfo = localtime(&rawtime);
69 strftime(buffer,80,
"%Y-%m-%d %I:%M:%S",timeinfo);
70 return std::string(buffer);
88 if(s ==
"0")
return 0;
92 switch(s.at(s.length()-1)) {
93 case 'q': multiplier = 1;
break;
94 case 's': multiplier = 1000;
break;
95 case 'm': multiplier = 60*1000;
break;
96 case 'h': multiplier = 60*60*1000;
break;
97 case 'd': multiplier = 60*60*24*1000;
break;
99 std::cout <<
"*** Unknown time specifier: " << s.at(s.length()-1) <<
" in " << s <<
". Did you forget a unit?" << std::endl;
103 double t = std::stod(s.substr(0,s.length()-1));
105 return (
unsigned long)(t*multiplier);
size_t count(const std::string &str, const std::string &sub)
Definition: Strings.h:344
time_t convert_time(const std::string &s)
Give a timepoint for the current time.
Definition: Timing.h:79