Você está aqui: C++ ::: Dicas & Truques ::: Data e Hora |
Como usar a função mktime() para construir datas e horas em C++Quantidade de visualizações: 6619 vezes |
A função mktime(), do header <ctime> é usada quando queremos construir novas datas e horas em C++. Esta função recebe um ponteiro para uma estrutura tm e retorna um valor do tipo time_t (ou -1 em caso de erro). Veja sua assinatura:time_t mktime(struct tm *timeptr); A função mktime() interpreta o conteúdo da estrutura tm apontada pelo parâmetro timeptr como uma hora de calendário expressa na hora local. Esta hora de calendário é usada para ajustar corretamente os valores dos membros da estrutura tm e retorná-la como um objeto do tipo time_t. Os valores originais dos membros tm_wday e tm_yday do parâmetro timeptr são ignorados, e as faixas de valores para o restante de seus membros não são mais restritos ao seus valores normais (como a restrição de valores de 1 a 31 para o membro tm_mday). O objeto apontado por timeptr é modificado, ajustando tm_wday e tm_yday para seus valores apropriados e modificando os demais membros, se necessário, para acomodar as faixas normais de valores. Veja um exemplo de como podemos contruir a data 23/04/2001: #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { time_t data_hora_segundos; // guarda os segundos deste 01/01/1970 struct tm *timeinfo; // declara uma estrutura tm time(&data_hora_segundos); // preenche a variável data_hora_segundos // preenche a estrutura timeinfo timeinfo = localtime(&data_hora_segundos); // data que queremos construir int dia = 23; int mes = 4; int ano = 2001; // vamos modificar a estrutura timeinfo timeinfo->tm_year = ano - 1900; timeinfo->tm_mon = mes - 1; timeinfo->tm_mday = dia; // vamos atualizar a estrutura timeinfo mktime(timeinfo); // e agora exibir o resultado cout << "Data construída: " << asctime(timeinfo) << "\n\n"; system("PAUSE"); return EXIT_SUCCESS; } Ao executar este código teremos uma saída parecida com: Data construída: Mon Apr 23 09:40:59 2001 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Ruby - Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |