设为首页 加入收藏

TOP

POCO C++库学习和分析 -- 日期与时间 (十一)
2014-11-24 03:20:57 】 浏览:1157
Tags:POCO 学习 分析 --日期 时间
g Poco::Timezone;
using Poco::Timestamp;
int main(int argc, char** argv)
{
int utcOffset = Timezone::utcOffset();
int dst = Timezone::dst();
bool isDst = Timezone::isDst(Timestamp());
int tzd = Timezone::tzd();
std::string name = Timezone::name();
std::string stdName = Timezone::standardName();
std::string dstName = Timezone::dstName();
return 0;
}


6. Poco::DateTimeFormatter类
Poco::DateTimeFormatter用来定义当Timestamp, DateTime, LocalDateTime and Timespan转换为字符串时所需的日期和事件格式。Poco::DateTimeFormatter的作用和strftime()是类似的。Poco::DateTimeFormat内部定义了一些约定的格式。
1. ISO8601_FORMAT (2005-01-01T12:00:00+01:00)
2. RFC1123_FORMAT (Sat, 1 Jan 2005 12:00:00 +0100)
3. SORTABLE_FORMAT (2005-01-01 12:00:00)
4. For more information, please see the reference documentation.

成员函数:
所有的DateTimeFormatter函数都是静态的。

下面是一个使用的例子:
[cpp]
#include "Poco/Timestamp.h"
#include "Poco/Timespan.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
int main(int argc, char** argv)
{
Poco::DateTime dt(2006, 10, 22, 15, 22, 34);
std::string s(DateTimeFormatter::format(dt, "%e %b %Y %H:%M"));
// "22 Oct 2006 15:22"
Poco::Timestamp now;
s = DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT);
// "2006-10-30 09:27:44"
Poco::Timespan span(5, 11, 33, 0, 0);
s = DateTimeFormatter::format(span, "%d days, %H hours, %M minutes");
// "5 days, 11 hours, 33 minutes"
return 0;
}

#include "Poco/Timestamp.h"
#include "Poco/Timespan.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
int main(int argc, char** argv)
{
Poco::DateTime dt(2006, 10, 22, 15, 22, 34);
std::string s(DateTimeFormatter::format(dt, "%e %b %Y %H:%M"));
// "22 Oct 2006 15:22"
Poco::Timestamp now;
s = DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT);
// "2006-10-30 09:27:44"
Poco::Timespan span(5, 11, 33, 0, 0);
s = DateTimeFormatter::format(span, "%d days, %H hours, %M minutes");
// "5 days, 11 hours, 33 minutes"
return 0;
}

7. Poco::DateTimeParser类
Poco::DateTimeParser用来从字符串中解析时间和日期。下面是其一个例子:
[cpp]
#include "Poco/DateTimeParser.h"
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/LocalDateTime.h"
#include "Poco/Timestamp.h"
using Poco::DateTimeParser;
using Poco::DateTimeFormat;
using Poco::DateTime;
int main(int argc, char** argv)
{
std::string s("Sat, 1 Jan 2005 12:00:00 GMT");
int tzd;
DateTime dt;
DateTimeParser::parse(DateTimeFormat::RFC1123_FORMAT, s, dt, tzd);
Poco::Timestamp ts = dt.timestamp();
Poco::LocalDateTime ldt(tzd, dt);
bool ok = DateTimeParser::tryParse("2006-10-22", dt, tzd);
ok = DateTimeParser::tryParse("%e.%n.%Y", "22.10.2006", dt, tzd);
return 0;
}

#include "Poco/DateTimeParser.h"
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/LocalDateTime.h"
#include "Poco/Timestamp.h"
using Poco::DateTimeParser;
using Poco::DateTimeFormat;
using Poco::DateTime;
int main(int argc, char** argv)
{
std::string s("Sat, 1 Jan 2005 12:00:00 GMT");
int tzd;
DateTime dt;
DateTimeParser::parse(DateTimeFormat::RFC1123_FORMAT

首页 上一页 8 9 10 11 12 下一页 尾页 11/12/12
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇fzu 2035 Axial symmetry(几何) 下一篇BZOJ 2565 最长双回文串

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目