利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。
1. 输出YYYYMMDD
#include <boost/date_time/gregorian/gregorian.hpp> #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::gregorian::to_iso_string(\ boost::gregorian::day_clock::local_day()); std::cout << strTime.c_str() << std::endl;
2. 输出YYYYMMDD-HH:MM:SS
#include <boost/date_time/posix_time/posix_time.hpp> #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::posix_time::to_iso_string(\ boost::posix_time::second_clock::local_time()); // 这时候strTime里存放时间的格式是YYYYMMDDTHHMMSS,日期和时间用大写字母T隔开了 int pos = strTime.find('T'); strTime.replace(pos,1,std::string("-")); strTime.replace(pos + 3,0,std::string(":")); strTime.replace(pos + 6,0,std::string(":")); std::cout << strTime.c_str() << std::endl;
http://blog.csdn.net/morebread/article/details/6742957