fredericopissarra Postado Abril 9, 2019 em 13:00 Compartilhar Postado Abril 9, 2019 em 13:00 Gente, Apenas uma dica rápida (a qual me foi chamada a atenção recentemente). Sempre achei que time() retornasse o número de segundos desde 1º de janeiro de 1970, às 0:00, na timezone local, mas não é isso que acontece... Ele retorna o número de segundos desde essa data no UTC+0 ou "horário de Greewich". Assim fica mais fácil calcular os vários horários por timezones, adicionando ou subtraíndo segundos do valor! []s Fred Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Abril 9, 2019 em 13:03 Autor Compartilhar Postado Abril 9, 2019 em 13:03 Ainda mais: gmtime() não realiza quaisquer cálculos envolvendo timezone, já que time() retorna sempre UTC+0... mas, localtime() sim! Link para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Abril 24, 2019 em 07:05 Compartilhar Postado Abril 24, 2019 em 07:05 Boa. Eu passei por isso nesse trecho do readpe, ao tentar extrair o timestamp de compilação de um binário PE: char timestr[40] = "(invalid)"; struct tm *t = gmtime((time_t *) &header->TimeDateStamp); if (t) strftime(timestr, sizeof(timestr), "%a, %d %b %Y %H:%M:%S UTC", t); No final, deixei exibindo em UTC-0 mesmo. ? Fonte: https://github.com/merces/pev/blob/master/src/readpe.c#L657 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.