【发布时间】:2012-10-06 23:15:12
【问题描述】:
我写了一个函数,我相信它会加入一个 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() 提供的转换?
【问题讨论】: