如何在不设置TZ变量的情况下获取不同时区的当前时间

时间:2018-01-29 09:12:24

标签: c datetime timezone libc

如何在不设置tz变量的情况下获取不同时区的当前时间(因为我不想更改本地时区(IST))。

例如:我需要不同的时区时间,如(PST,EST,....)。

1 个答案:

答案 0 :(得分:0)

你能不能使用像linux这样的time.h然后为不同的时区进行后期处理?

void linux_time_get
(
    os_time_t* p_time_seconds,
    os_time_us_t* p_time_microseconds
)
{
    struct timeval tv;
    gettimeofday(&tv, NULL); /* Second arg is timezone */
    if (p_time_seconds)
    {
        *p_time_seconds = tv.tv_sec;
    }
    if (p_time_microseconds)
    {
        *p_time_microseconds = tv.tv_usec;
    }
}

然后这个函数的调用者修改了' p_time_seconds'和' p_time_microseconds'根据你想要使用的时区?

或者你可以为' tz'制作一个局部变量,作为第二个arg解析为' gettimeofday()'功能