Time.hpp
1 //
2 // Created by xiong on 2022/6/9.
3 //
4 
5 #ifndef EMX_Time_HPP
6 #define EMX_Time_HPP
7 
8 #include "core/EmxTypeDef.hpp"
9 #include "json/json.h"
10 #include <mutex>
11 
12 namespace Emx {
18  class Time {
19  public:
21  static uint64_t GetMs64();
22 
24  static uint32_t GetMs() { return (uint32_t) GetMs64(); }
25 
27  static uint32_t GetS();
28 
30  static uint64_t GetMonoClockNs();
31 
33  static uint64_t GetMonoClockUs();
34 
36  static uint64_t GetMonoClockMS() { return GetMonoClockUs() / 1000; }
37 
44  static char *GetTimeStrNow(char *timeStr, int maxSize);
45 
53  static char *GetTimeStr(uint32_t utc, char *timeStr, int maxSize);
54 
59  static void SetSysTime(uint32_t utc);
60 
65  static void SetSysDate(const char *date);
66 
68  static bool GetTimeSync();
69  };
70 
72  class TimeRec {
73  public:
74  TimeRec() { Update(); }
75 
77  void Update() { m_timeStart = Time::GetMonoClockMS(); }
78 
80  uint32_t GetInv() const { return (uint32_t) (Time::GetMonoClockMS() - m_timeStart); }
81 
82  private:
83  uint64_t m_timeStart;
84  };
85 
87 }
88 
89 #endif //EMX_Time_HPP
记录操作时间
Definition: Time.hpp:72
TimeRec()
Definition: Time.hpp:74
void Update()
更新初始时间
Definition: Time.hpp:77
uint32_t GetInv() const
获取当前时间与初始时间的差值
Definition: Time.hpp:80
时间相关函数
Definition: Time.hpp:18
static char * GetTimeStr(uint32_t utc, char *timeStr, int maxSize)
获取指定UTC时间字符串,格式YYYY-MM-DD hh:mm:ss
static void SetSysTime(uint32_t utc)
获设置系统UTC时间
static uint64_t GetMonoClockMS()
获取64位当前系统启动毫秒时间
Definition: Time.hpp:36
static bool GetTimeSync()
获取系统的时间是否已经同步
static uint32_t GetMs()
获取32位当前UTC毫秒时间
Definition: Time.hpp:24
static void SetSysDate(const char *date)
设置系统日期
static uint64_t GetMonoClockUs()
获取64位当前系统启动微秒时间
static uint32_t GetS()
获取32位当前UTC秒时间
static uint64_t GetMonoClockNs()
获取64位当前系统启动纳秒时间
static char * GetTimeStrNow(char *timeStr, int maxSize)
获取当前系统时间字符串,格式YYYY-MM-DD hh:mm:ss
static uint64_t GetMs64()
获取64位当前UTC毫秒时间
Definition: EmxGpio.hpp:10