#include "iostream"
#include "boost/date_time.hpp"
#include "boost/thread/thread.hpp"
using namespace boost::gregorian;
using namespace boost::posix_time;
using namespace std;
int main(){
//gregorian(公立) 日期类型 精确到天
//构造函数
date today(2014,3,12);
date local_today(day_clock::local_day());
date universal_today(day_clock::universal_day());
//字符和日期之间的转换
cout << today << endl;
cout << to_iso_string(today) << endl;
cout << local_today << endl;
cout << universal_today << endl;
cout << "day_of_year:" << local_today.day_of_year() << endl;
cout << "day_of_week:" << local_today.day_of_week() << endl;
cout << "month:" << local_today.month() << endl;
//日期计算
date tomorrow = today + date_duration(1); //最小单位1天
cout << "today:" << today << " tomorrow:" << tomorrow << endl;
cout << from_string("2014/03/12") << endl;
cout << from_undelimited_string("20130312") << endl;
//posix_time 时间类型 能精确到微秒
//构造
ptime now(today,hours(18)+minutes(10)+seconds(0));
ptime local_now(second_clock::local_time());
cout << "now : " << now << " length:" << to_iso_string(now).length() << endl;
cout << "local_now : " << local_now << endl;
//遍历
time_iterator titr(now,hours(1));
for (; titr < now+hours(24); ++titr) {
std::cout << (*titr) << std::endl;
}
return 0;
}
boost时间操作
最新推荐文章于 2021-11-28 11:32:50 发布