gpt4 book ai didi

c - 如何确定时间日期戳

转载 作者:行者123 更新时间:2023-11-30 21:00:05 24 4
gpt4 key购买 nike

我正在编写有关 Windows PE header 的内容。我想确定时间戳值。这是_IMAGE_FILE_HEADER结构

typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
WORD SizeOfOptionalHeader;
WORD Characteristics;
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

此变量的值为 TimeDateStamp: 0x58e451ac

最佳答案

根据MSDN: IMAGE_FILE_HEADER structureIMAGE_FILE_HEADERTimeDateStamp成员是图像时间戳的低32位。它代表链接器创建镜像的时间。该值表示为自 1970 年 1 月 1 日开始(通用协调时间)以来的秒数。

可以使用以下函数将其转换为 FILETIME 值:

FILETIME TimeDateStampToFileTime(DWORD timeDateStamp)
{
ULARGE_INTEGER ftu;
FILETIME ft;

ftu.QuadPart = (timeDateStamp + 11644473600ull) * 100000000ull;
ft.LowPart = ftu.u.LowPart;
ft.HighPart = ftu.u.Highpart;
return ft;
}

然后,您可以使用 Windows FileTimeToSystemTime 函数将 FILETIME 转换为分解的 SYSTEMTIME 结构。

关于c - 如何确定时间日期戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43235725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com