c++ - 自 0000 年 1 月 1 日以来,哪些 C++ 函数支持以微秒为单位的时间?
问题描述
我在 C++、Visual Studio 2012 和 Windows 7 中工作。我有 2 组数据 - 一组具有常规系统时间,另一组具有自 0 年以来的微秒时间(真正的 0,而不是 1970 年)。我必须找到这两组之间的相关性——所以我需要一些可以进行转换的函数。有任何想法吗?
解决方案
假设使用公历,这两个历元之间的差异是 62,167,219,200,000,000 微秒。因此,您只需添加/减去此常量即可在这两个数据集之间进行转换。
这个常数是使用这个免费的、开源的、只有头文件的 C++20 chrono preview library计算的。
#include "date/date.h"
#include <chrono>
#include <iostream>
int
main()
{
using namespace date;
using namespace std;
using namespace std::chrono;
microseconds delta = sys_days{1970_y/1/1} - sys_days{0_y/1/1};
cout << delta << '\n';
}
输出:
62167219200000000µs
推荐阅读
- active-directory - 在 .Net Core 2.x MVC 应用程序中配置 Windows AD 身份验证
- opencart - (Opencart)自定义模块位置未保存在布局中的原因可能是什么?
- pandas - 在多列分组后的目标计数
- c# - AWS .NET Core 单元测试加载非默认配置文件
- php - 如何发送图片地址和id
- c - mmap 库函数可以在 C 和汇编程序中使用吗?
- matlab - matlab中的for循环只迭代128次
- npm - 在 node_modules 中顽固地重新出现 .bin 文件
- python - 为什么消费者重启时 RabbitMQ 队列中的消息会丢失?
- c - 为什么 + 1 运算符增加 2 个字节,而 ++ 增加 1,在 C 中?