以下是一个示例 C++ 函数,用于将 GPS UTC 时间转换为本地时间:

#include <ctime>

// Convert GPS UTC time to local time
time_t gps_utc_to_local_time(const time_t& gps_utc_time) {
    struct tm tm_gps_utc = {0};
    gmtime_r(&gps_utc_time, &tm_gps_utc); // Convert to struct tm

    // GPS time starts from January 6, 1980 (1970 + 315964800 seconds)
    const time_t gps_start_time = 315964800;
    time_t local_time = gps_start_time + mktime(&tm_gps_utc);

    // Convert to local time zone
    struct tm tm_local = {0};
    localtime_r(&local_time, &tm_local);

    return mktime(&tm_local);
}

该函数使用了 C++ 标准库中的 'time_t' 和 'struct tm' 结构体,以及 'gmtime_r()' 和 'localtime_r()' 函数来进行时间转换。具体实现中,先将 GPS UTC 时间转换为 'struct tm',再加上 GPS 时间起始值得到本地时间,最后进行时区转换即可。

C++ GPS UTC 时间转本地时间函数

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

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