POCO庫中文編程參考指南(6)Poco::Timestamp
阿新 • • 發佈:2017-09-29
更新時間 chan 表示 ase 拷貝構造函數 date other 靜態成員函數 get
1 類型別名
三個時間戳相關的類型別名,TimeDiff
表示兩個時間戳的差,第二個是以微秒為單位的時間戳,第三個是以 100 納秒(0.1 微妙)為單位的時間戳:
typedef Int64 TimeDiff; /// difference between two timestamps in microseconds typedef Int64 TimeVal; /// monotonic UTC time value in microsecond resolution typedef Int64 UtcTimeVal; /// monotonic UTC time value in 100 nanosecond resolution
2 構造函數
當前時間的時間戳:
Timestamp();
指定時間的時間戳:
Timestamp(TimeVal tv);
拷貝構造函數:
Timestamp(const Timestamp& other);
3 重載運算符
賦值運算符:
Timestamp& operator = (const Timestamp& other);
Timestamp& operator = (TimeVal tv);
比較運算符:
bool operator == (const Timestamp& ts) const; bool operator != (const Timestamp& ts) const; bool operator > (const Timestamp& ts) const; bool operator >= (const Timestamp& ts) const; bool operator < (const Timestamp& ts) const; bool operator <= (const Timestamp& ts) const;
算術運算符與算術賦值運算符
Timestamp operator + (TimeDiff d) const;
Timestamp operator - (TimeDiff d) const;
TimeDiff operator - (const Timestamp& ts) const;
Timestamp& operator += (TimeDiff d);
Timestamp& operator -= (TimeDiff d);
4 獲取不同格式表示的時間戳
獲取 std::time_t 格式的時間戳:
std::time_t epochTime() const;
獲取 UTC-based time 格式的時間戳:
UtcTimeVal utcTime() const;
獲取 TimeVal 格式(微秒)的時間戳:
TimeVal epochMicroseconds() const;
5 其他成員函數
交換時間戳:
void swap(Timestamp& timestamp);
更新時間戳為當前時間:
void update();
此時時間戳與這個時間戳的差(TimeStamp() - *this):
TimeDiff elapsed() const;
判斷一段時間是否已經過去:
bool isElapsed(TimeDiff interval) const;
6 靜態成員函數
用std::time_t
對象創建一個Timestamp
:
static Timestamp fromEpochTime(std::time_t t);
用UtcTimeVal
對象創建一個Timestamp
:
static Timestamp fromUtcTime(UtcTimeVal val);
返回時間解析度,即 Units per second。因為 Poco::TimeStamp 的最小解析度為微妙,所以該函數都返回 1000000:
static TimeVal resolution();
-
from:Blog.CSDN.net/Poechant
POCO庫中文編程參考指南(6)Poco::Timestamp