NT时间戳指的是Windows系统中使用的时间戳,它表示的是自1601年1月1日0时0分0秒到当前时间的100纳秒数。

以下是一个将输入时间转换为NT时间戳的示例代码:

#include <stdio.h>
#include <windows.h>

int main()
{
    SYSTEMTIME st;
    FILETIME ft;
    ULARGE_INTEGER uli;

    // 获取输入时间
    printf("请输入时间(格式:YYYY-MM-DD HH:MM:SS):");
    scanf("%d-%d-%d %d:%d:%d", &st.wYear, &st.wMonth, &st.wDay, &st.wHour, &st.wMinute, &st.wSecond);

    // 将输入时间转换为文件时间
    SystemTimeToFileTime(&st, &ft);

    // 将文件时间转换为64位整数
    uli.LowPart = ft.dwLowDateTime;
    uli.HighPart = ft.dwHighDateTime;

    // 计算NT时间戳
    ULONGLONG nt_time = uli.QuadPart / 10000000ULL - 11644473600ULL;

    // 输出NT时间戳
    printf("NT时间戳:%llu\n", nt_time);

    return 0;
}

使用方法:运行程序后,按照提示输入要转换的时间,格式为'YYYY-MM-DD HH:MM:SS',程序会输出对应的NT时间戳。例如,输入'2021-07-22 10:30:00',输出结果为'13299072700'。

C语言实现时间转换为NT时间戳:详细代码及使用方法

原文地址: https://www.cveoy.top/t/topic/oc0N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录