4

C++11 提供了一个返回当前时间的函数。但是,我找不到返回当前日期的函数。我使用 boost 来做到这一点。

boost::gregorian::date TODAY = boost::gregorian::day_clock::local_day();

有没有办法使用chrono达到相同的结果?

编辑:我想要的是使用 time_point 来表示当天。这意味着小时、分钟和秒都为零 2013-07-31 00:00:00

4

1 回答 1

6

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();
于 2013-07-31T04:11:31.957 回答