Você está aqui: C ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês como um inteiro ou uma stringQuantidade de visualizações: 3371 vezes |
Em algumas situações gostaríamos de obter o dia do mês como um inteiro ou uma string (uma matriz de char). Nesta dica eu mostro como isso é possível. Observe o trecho de código abaixo:---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <time.h> 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); // obtém o dia do mês atual como um inteiro int dia_mes = timeinfo->tm_mday; printf("O dia do mês atual é: %d\n\n", dia_mes); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: O dia do mês atual é 6. Para obter o dia do mês como um inteiro eu usei o membro tm_mday da estrutura tm. O valor contido neste membro varia de 1 a 31. Note ainda que usei a função localtime() para preencher a estrutura tm com os valores de data e hora local de acordo com as configurações regionais da máquina. Vamos ver agora como obter o dia do mês como uma string. Observe o código abaixo: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <time.h> 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); // obtém o dia do mês atual como uma matriz de char char mensagem[80]; strftime(mensagem, 80, "O dia do mês é: %d", timeinfo); // mostra o resultado printf("%s\n\n", mensagem); system("PAUSE"); return 0; } Ao executar este código teremos o resultado: O dia do mês é: 07. Desta vez eu usei a função strftime() para copiar a string formatada para a variável mensagem. O especificador "%d" permite retornar o dia do mês no formato DD, ou seja, com dois dígitos. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Java - Estruturas de Dados em Java - Como obter o nó com menor valor em uma árvore binária de busca em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |