微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么来自 std::filesystem::file_time_type 的 time_since_epoch() 是负数?

如何解决为什么来自 std::filesystem::file_time_type 的 time_since_epoch() 是负数?

为什么下面的代码输出负数?

coliru link 自己查看和编译代码

var ticketList = ctx.Tickets
                        .sqlQuery("Select * from Tickets where Id=1")
                        .ToList<Ticket>();
#include <chrono>
#include <filesystem>
#include <iostream>

int main()
{
  std::cout << "Now: "
            << std::filesystem::file_time_type::clock().Now().time_since_epoch().count()
            << "\n";
  return 0;
}

解决方法

libstdc++ 的 std::filesystem::file_time_type::clock() 的纪元似乎是 2174-01-01 00:00:00 UTC,因此当前日期的负计数并不意外。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。