这是我想做的。
ptime now = second_clock::local_time();
date today = now.date();
today.day_of_week();
string day = "Sat";
if(day == to_string(today.day_of_week()))
{
//perform an action
}
else
{
//perform another action
}
代码可以编译,但程序永远不会执行 if block 。我还能如何将 day_of_week() 转换为字符串?
最佳答案
我建议 boost::lexical_cast<>
这里:
std::string day = boost::lexical_cast<std::string>(today.day_of_week());
或者简单地说:
std::cout << today.day_of_week();
#include <boost/date_time/posix_time/posix_time_io.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/lexical_cast.hpp>
int main() {
auto now = boost::posix_time::second_clock::local_time();
auto today = now.date();
std::string day = boost::lexical_cast<std::string>(today.day_of_week());
std::cout << today.day_of_week();
}
打印
Fri
关于c++ - 如何将 boost::date_time::date::day_of_week() 转换为字符串类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33166259/