我需要根据一天中的时间生成值,是否有一个简单的方法来实现这一点?检查时间是否在C++的特定时间间隔?
从9-12值应为X之间 - Ÿ
6-9值应该是之间 - B
是否有任何其他的方式比让timeinfo结构和提取小时出来的吗?
我需要根据一天中的时间生成值,是否有一个简单的方法来实现这一点?检查时间是否在C++的特定时间间隔?
从9-12值应为X之间 - Ÿ
6-9值应该是之间 - B
是否有任何其他的方式比让timeinfo结构和提取小时出来的吗?
你应该看看boost::posix_time
。
using namespace boost::posix_time;
using namespace boost::gregorian;
ptime now = second_clock::local_time();
// You can compare now with other ptime values
ptime nine_o_clock = day_clock::local_day() + hours(9);
ptime twelve_o_clock = day_clock::local_day() + hours(12);
if ((now >= nine_o_clock) && (now < twelve_o_clock))
{
// Do what you want.
}
day_clock :: local_day()返回date_time 无法转换为ptime,这是我在尝试此操作时遇到的错误。我不得不进一步检查,因为我必须提交,所以使用* strftime *代替 – 2010-07-03 01:46:21
@Gollumn:对不起,当我键入这个时,我没有编译器在机器上。不过,我敢肯定有一种方法可以使用某个特定的构造函数或函数将'gregorian_date'转换为'ptime'。你检查了我链接的页面吗? 'boost'时间库是我见过的最完整的一个,如果这样简单的事情是不可能的,我会感到惊讶。 – ereOn 2010-07-03 07:39:48
这很大程度上取决于您的操作系统和特定的库,您正在使用...另外我想知道为什么它不够整洁,以获得timeinfo和提取小时? =) – SadSido 2010-07-02 07:23:49
@SadSido当人们试图改变它并修改特定的东西时,它没有传达意图。我不知道如何解释.. 谢谢:)虽然。 – 2010-07-02 08:50:36