Dynalib Utils
TimeUtils.h
Go to the documentation of this file.
1 #ifndef TIME_UTILS_H
2 #define TIME_UTILS_H
3 
4 #include <chrono>
5 #include "String.h"
6 using namespace std;
7 using namespace std::chrono;
8 
9 struct Time {
11  Time(const String& timeStr);
12 };
13 
14 struct Timestamp {
16  Timestamp(const String& timeStr);
17 };
18 
19 class TimeUtils {
20 private:
21  // static String _formatDateTime(tm* timeinfo, int extra, const char* format);
22  TimeUtils() = default;
23  virtual ~TimeUtils() = default;
24 public:
25  static system_clock::time_point getNow();
26  static system_clock::time_point getTime(long milli);
27  static long getEpochMillis(system_clock::time_point& t1);
28  static time_t getEpochSecs(system_clock::time_point& t1);
29  static time_t mkgmtime(struct tm *tm);
30  static system_clock::time_point parseLocalTime(const char* timestr);
31  static system_clock::time_point parseTimestamp(const char* timestamp);
32  static system_clock::time_point parseLocalDate(const char* datestr);
33  static String getLocalTime(long milli, const char* format, bool addMillis = true);
34  static String getLocalTime(system_clock::time_point& t1, const char* format, bool addMillis = true);
35  static String getGmTime(long milli, const char* format, bool getMillis = true);
36  static String getGmTime(system_clock::time_point& t1, const char* format, bool getMillis = true);
37  static String getUTCTimestamp(system_clock::time_point& t1);
38 };
39 
40 #endif
std::chrono::time_point< Clock, Duration > time_point
Definition: tz.h:2265
system_clock::time_point tp
Definition: TimeUtils.h:15
auto format(const std::locale &loc, const CharT *fmt, const Streamable &tp) -> decltype(to_stream(std::declval< std::basic_ostream< CharT > &>(), fmt, tp), std::basic_string< CharT >
Definition: date.h:5663
Definition: String.h:60
void t1(Test &test, int &counter)
Definition: TestSynch.cpp:38
Definition: TimeUtils.h:19
Definition: TimeUtils.h:14
system_clock::time_point tp
Definition: TimeUtils.h:10
Definition: TimeUtils.h:9