您的位置:首页 > 编程语言

POCO库中文编程参考指南(6)Poco::Timestamp

2012-04-15 05:37 525 查看

POCO库中文编程参考指南(6)Poco::Timestamp

作者:柳大·Poechant
博客:Blog.CSDN.net/Poechant
邮箱:zhongchao.ustc#gmail.com (# -> @)
日期:April 15th, 2012

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();
-转载请著名来自柳大的CSDN博客:Blog.CSDN.net/Poechant-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: