Funções de data usando time.h

Publicado por Danilo em 23/05/2004

[ Hits: 49.860 ]

Blog: http://www.danilocesar.com

 


Funções de data usando time.h



Um jeito alternativo de retornar o horário do sistema:

#include
#include

void main(void)
{
struct tm *local;
time_t t;
t= time(NULL);
local=localtime(&t);
}

Então nós temos o horário no ponteiro 'local', que aponta para a estrutura tm.

Mas, o que é esta estrutura tm?
A estrutura tm é definida em C da seguinte forma:

struct tm {
int tm_sec; /* Segundos, 0-59*/
int tm_min; /* Minutos, 0-59*/
int tm_hour; /*Horas 0-23 */
int tm_mday; /*dia do mês, 1-31 */
int tm_mon; /* mês a partir de janeiro, 0-11 */
int tm_year; /* anos a partir de 1900 */
int tm_wday; /* dias a partir de domingo, 0-6 */
int tm_yday; /* dias a partir de 1 de janeiro 1-365 */
int tm_isdst; /* Indicador de horário de verão */
}

Fonte: C Completo e Total

Então, para retirar o dia do sistema podemos fazer assim:

int dia;
dia=local->tm_day;

// Retornar o mês
int mes;
mes=local->tm_mon;

//retornar o ano
int ano;
ano=local->tm-year;
ano=ano+1900;

OBS: Foi necessário acrescentar 1900 ao ano, pois o sistema retorna a partir de 1900. Basicamente, no lugar de 2004, o sistema retorna 104.

Exemplo de código:

#include
#include

void main(void)
{
struct tm *local;
time_t t;
t= time(NULL);
local=localtime(&t);

dia=local->tm_mday;
mes=local->tm_mon+1;
ano=local->tm_year+1900;

printf("Data do Sistema: %d/%d/%d\n",dia,mes,ano); // Retorna a data
}
Outras dicas deste autor

Opções de optimização do VNC

Montando uma imagem de CD (iso)

HTTP headers, HTTP por força bruta

Anjuta 1.2.4 e Ubuntu Edgy: Sim, é possível

Câmera Sony P32 no Linux [Debian]

Leitura recomendada

Lendo strings com espaço em branco usando scanf

Ubuntu mais rápido

Enviando Oi torpedo no seu Linux

Solucionando problemas com o ALSA

Configurando corretamente o driver Intel em seu xorg.conf

  

Comentários
[1] Comentário enviado por paulovitorbal em 17/04/2006 - 15:07h

muito bom ajudou pacas!

[2] Comentário enviado por paulopmt1 em 29/04/2008 - 14:42h

show de bola, ajudou mesmo, valeu...

[3] Comentário enviado por adrianokahn em 17/09/2009 - 11:59h

vlw pelo tutorial, me ajudou mt com um trabalho da facu...

abs!!!

[4] Comentário enviado por andrezc em 22/11/2010 - 18:36h

Bacana. Só evite usar "void main()", use "int main()".



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts