我需要将日期存储在平面文件中。是否有任何简单的方法可以使用 C++11 中的标准库获取自特定日期(例如自公元 1 年以来)以来的天数?我唯一知道的是:
- 获取 std::tm 结构,将所有时间值设置为 0
- 将其转换为 std::time_t (我还不知道正确的方法)
- 除以 time_t 得到一天的分辨率
我可以更轻松地执行它吗?
你说的开始听起来很合理。您可以使用mktime将 struct tm 转换为 time_t 。请注意,mktime 根据系统/环境设置将其输入解释为本地时间,并且没有不依赖于“额外”库的广泛可用的 UTC 对应物,但这对您来说可能不是问题。