Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 时间转换器-时间(空)到WINDOWS时间_C++_Datetime - Fatal编程技术网

C++ 时间转换器-时间(空)到WINDOWS时间

C++ 时间转换器-时间(空)到WINDOWS时间,c++,datetime,C++,Datetime,是否有将时间(NULL)值转换为WINDOWS时间的工具 时间(NULL)将给出自1970年1月1日以来的时间(秒)。现在,如果我把这个值输入到这个工具中,它必须给我以日期、小时、分和秒为单位的时间 在C++中,我们使用时间(空)对象大量发送时间。 < p>参见微软,链式.< /p> < P>如果Windows时间是NTFS中使用的64位时间,则可以使用转换: int64 wintime = 100000000uL * time(NULL) + 0x19db1ded53e8000uLL 其中

是否有将时间(NULL)值转换为WINDOWS时间的工具

时间(NULL)将给出自1970年1月1日以来的时间(秒)。现在,如果我把这个值输入到这个工具中,它必须给我以日期、小时、分和秒为单位的时间

<>在C++中,我们使用时间(空)对象大量发送时间。

< p>参见微软,链式.< /p> < P>如果Windows时间是NTFS中使用的64位时间,则可以使用转换:

int64 wintime = 100000000uL * time(NULL) + 0x19db1ded53e8000uLL
其中
int64
是编译器用于64位整数的类型

NT时间以utc 1601-01-01 00:00:00的原点为基础,每秒计数1000万个单位,计时精度为100纳秒。它假设了一个简单的闰年序列,忽略了1752年前后的日历复杂性


因此,将Unix时间乘以1000万,再加上1164444736000000000(十进制)或0x19DB1DED53E8000(1970-01-01和1601-01-01之间的差值),就可以轻松地从一个时间转换为另一个时间。

10000000uL*时间(NULL)+0x19db1ded53e8000uLL

您指的是什么平台?time函数返回一个与unix时间戳对应的值。有很多在线转换器,我正在使用:@Christian-Ammer:在MSVC上,它是。不过,这并不是万能的。请你给出答案,用一句话解释一下你的样本是做什么的?