我编写了一个函数,我相信它将加入一个 time_t 的日期组件和另一个 time_t 的时间组件:
time_t joinDateTime( time_t date, time_t time )
{
tm tm_date( *gmtime( &date ) ), tm_time( *gmtime( &time ) );
tm_date.tm_hour = tm_time.tm_hour;
tm_date.tm_min = tm_time.tm_min;
tm_date.tm_sec = tm_time.tm_sec;
return mktime( &tm_date );
}
此函数不应执行任何时区转换,但mktime()
显然假定您提供的时间结构在您的本地时区,并将其转换为 UTC 0。如何修改此函数以不应用mktime()
提供的时区转换?