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: 3477 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:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







