使用Boost库可以方便地获取当前的时间并进行格式化。下面是实现该功能的步骤:
1. 引入Boost库
在C++中使用Boost库需要先安装该库,然后在代码中引入相关的头文件。
#include <boost/date_time.hpp>
2. 获取当前时间
使用Boost库中的boost::posix_time::microsec_clock::local_time()
函数可以获取当前的本地时间。
boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
该函数返回的是boost::posix_time::ptime
类型的对象,代表了当前本地时间的年月日时分秒和毫秒。
3. 将时间格式化为字符串
使用boost::posix_time::to_simple_string()
函数可以将一个boost::posix_time::ptime
类型的对象格式化为一个字符串。
std::string time_str = boost::posix_time::to_simple_string(now);
该函数默认的格式为"%Y-%m-%d %H:%M:%S.%f",即输出年月日时分秒和毫秒。
示例一
#include <boost/date_time.hpp>
#include <iostream>
int main() {
boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
std::string time_str = boost::posix_time::to_simple_string(now);
std::cout << "Current time is: " << time_str << std::endl;
return 0;
}
执行结果:
Current time is: 2021-Jun-09 16:56:30.039000
示例二
可以自定义输出的时间格式,例如:
#include <boost/date_time.hpp>
#include <iostream>
int main() {
boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
std::string time_format = "%Y%m%d-%H%M%S";
std::string time_str = boost::posix_time::to_iso_string(now.date()) + '-' +
boost::posix_time::to_simple_string(now.time_of_day());
std::cout << "Current time is: " << time_str << std::endl;
return 0;
}
执行结果:
Current time is: 20210609-170238.405000
以上代码将输出当前日期和时间,日期格式为"%Y%m%d",即年月日的数字格式;时间格式为"%H%M%S.%f",即时分秒和毫秒的数字格式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用boost获取时间并格式化的方法 - Python技术站