如何解决自1/1/0000年以来,哪些C ++函数支持的时间以微秒为单位?
我在C ++,Visual Studio 2012和Windows 7中工作。 我有2组数据- 一个具有常规系统时间的时间, 另一个从第0年起的时间以微秒为单位(实数为0,而不是1970)。 我必须找到两组之间的相关性- 因此,我需要一些可以进行转换的功能。 有什么想法吗?
解决方法
假设proleptic Gregorian calendar,这两个时期之间的差为62,167,219,200,000,000微秒。因此,您只需添加/减去此常量即可在这两个数据集之间进行转换。
此常数是使用此free,open-source,header-only 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。