Как получить местное время вместо времени UTC в ACE? - PullRequest
1 голос
/ 22 февраля 2012

Я использовал ACE_OS :: gettimeofday () в программе, чтобы узнать текущее время. Из того, что я знаю, ACE всегда использует UTC внутри. Однако иногда мне нужно преобразовать время UTC в местное время на основе часового пояса системы.

Возможно ли сделать это преобразование без использования какой-либо специфичной для платформы техники? Любое предложение будет оценено.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

@ ArunMu

Путем некоторого поиска в Google, который, конечно же, следует вашему ответу, я нашел следующее решение, спасибо!

time_t temptime = ACE_OS::gettimeofday().sec();

tm* timeinfo = ACE_OS::localtime(&temptime); // local time

tm* timeinfo = ACE_OS::gmtime(&temptime);    // UTC/GMT time
2 голосов
/ 22 февраля 2012

    #include &lttime.h&gt
    #include &lt iostream &gt
    int main(){
       time_t tempTime;
       time(&tempTime);
       struct timeval tv;
       gettimeofday(&tv, NULL);
       long int m_eventTime = temptime - timezone ;

    return 0;
   }

Я использую вышеупомянутое в Unix / Linux, чтобы преобразовать в местное время.Переменная m_eventTime содержит эпоху в соответствии с вашим часовым поясом

...