C++11 提供了一个返回当前时间的函数。但是,我找不到返回当前日期的函数。我使用 boost 来做到这一点。
boost::gregorian::date TODAY = boost::gregorian::day_clock::local_day();
有没有办法使用chrono达到相同的结果?
编辑:我想要的是使用 time_point 来表示当天。这意味着小时、分钟和秒都为零 2013-07-31 00:00:00
Chronos 没有延伸到日期问题;这真的不是它的目的。日期问题和“时间”问题之间的分界线是日期。而且 Chrono 没有定义日期类型。
但是您可以将时间除以 24。或者更好的是,定义您自己的持续时间 typedef 并使用它:
typedef std::duration<std::uint32_t, std::ratio<3600 * 24>> day;
然后只需将 atime_point
与该类型一起使用:
std::chrono::time_point<std::chrono::system_clock, day> day_getter;
day_getter.time_since_epoch();