English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Função da biblioteca C time_t mktime(struct tm *timeptr) Converter timeptr A estrutura apontada é convertida em um valor time_t com base no fuso horário local.
A seguir está a declaração da função mktime().
time_t mktime(struct tm *timeptr)
struct tm { int tm_sec; /* Os segundos, no intervalo de 0 a 59 */ int tm_min; /* Os minutos, no intervalo de 0 a 59 */ int tm_hour; /* As horas, no intervalo de 0 a 23 */ int tm_mday; /* O dia do mês, no intervalo de 1 até 31 */ int tm_mon; /* O mês, no intervalo de 0 a 11 */ int tm_year; /* desde 1900 a partir do ano */ int tm_wday; /* O dia da semana, no intervalo de 0 a 6 */ int tm_yday; /* O dia do ano, no intervalo de 0 a 365 */ int tm_isdst; /* Horário de verão */ };
Esta função retorna um valor do tipo time_t, que corresponde ao tempo calendário passado como parâmetro. Em caso de erro, retorna -1 Valores.
O exemplo a seguir demonstra o uso da função mktime().
/* Inserir data para determinar o dia da semana */ #include <stdio.h> /* printf, scanf */ #include <time.h> /* time_t, struct tm, time, mktime */ int main() { time_t rawtime; struct tm * timeinfo; int year, month, day; const char * weekday[] = { "Domingo", "Segunda-feira","Terça-feira", "Quarta-feira","Quinta-feira", "Sexta-feira", "Sábado"}; /* Data de entrada do usuário */ printf("Ano: "); fflush(stdout); scanf("%d",&year); printf("Mês: "); fflush(stdout); scanf("%d",&month); printf("Dia: "); fflush(stdout); scanf("%d",&day); /* Obtém informações de tempo atual e modifica as informações de entrada do usuário */ time(&rawtime); timeinfo = localtime(&rawtime); timeinfo->tm_year = year - 1900; timeinfo->tm_mon = month - 1; timeinfo->tm_mday = day; /* Chama mktime: timeinfo->tm_wday */ mktime(timeinfo); printf ("aquele dia era:%s\n", weekday[timeinfo]->tm_wday]); return 0; }
Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:
ano: 2018 mês: 7 dia: 26 aquele dia era: quinta-feira