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;
然后就是use a time_point
使用该类型:
std::chrono::time_point<std::chrono::system_clock, day> day_getter;
day_getter.time_since_epoch();
关于c++ - 使用 chrono 获取当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17961313/