如何直接从 FILETIME 结构获取/设置和获取秒数
How do I get/set and get the number of seconds directly from/on a FILETIME structure?
如何直接从 FILETIME 结构中设置和获取秒数?
在不使用任何 API 的情况下,我想从 FILETIME 结构获取/设置秒数。
这可能吗?
我尝试过如何做一些数学运算,但我还没有想出一个公式。
看这里:
文件时间是一个 64 位值,表示自 1601 年 1 月 1 日协调世界时 (UTC( 凌晨 12:00 以来经过的 100 纳秒间隔数。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290.aspx
要将结构转换为 64 位值,只需将两个部分组合成一个 __int64,然后整数除以 10.000.000(1 秒有 10 亿纳秒,或 1E9;因此 100 ns 分辨率是该值的 1/100 或 1E7(。
FILETIME timeFile;
__int64 Time = (__int64) timeFile.dwHighDateTime << 32 | timeFile.dwLowDateTime;
int TimeSec = Time / 10000000;
您可以使用ULARGE_INTEGER并通过 访问它。该联合的Quadpart,但Microsoft也建议使用__int64或ULONGON。64 位数字在 中有点混乱。
如果需要秒的值作为与分钟有关的分数,请使用模 60。这同样适用于分钟和小时,但请注意,FILTETIME 是 UTC 而不是本地时间。提取日期,月份和年份变得有点棘手,听起来不像想要那样。
相关文章:
- 如何获取进程以设置其亲和力?
- 如何获取控制面板设置值,如字体大小
- 获取和设置函数 c++
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 在 C++ 中将函数获取和设置为虚拟函数
- Qt 原子 int 获取并立即设置
- 如何使用C++获取/设置OBS中的垂直滚动过滤器属性?
- 如何使用BOOST_HANA_ADAPT_ADT定义获取/设置对
- 如何直接从 FILETIME 结构获取/设置和获取秒数
- 如何获取设置位中的相对位置
- 获取设置故障位的流位置 / std::ios::抛出故障
- 在运行时获取/设置模板结构的静态成员
- 为什么获取/设置Auto_Ptr会导致此编译器错误
- 构造函数在哪里获取/设置默认分配器
- 在WinCE和Linux上获取/设置SystemTimeAdjustment
- 获取/设置功能以更改文本和颜色
- 运算符[] C++获取/设置
- Qt:从应用程序/可执行目录获取设置ini文件的问题
- 如何获取/设置字符数组
- 如何获取设置输入文件路径运行时