Funções de data usando time.h

Publicado por Danilo em 23/05/2004

[ Hits: 47.952 ]

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

CD's do Ubuntu de graça!

Montando uma imagem de CD (iso)

Rodando o Quanta em uma única instância

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

Opções de optimização do VNC

Leitura recomendada

Lendo strings com espaço em branco usando scanf

Scripts facilitadores para live streaming

Samba - Auditoria de logs

Grafix - Análise técnica no GNU/Linux

Kernel 3.5.0 no Ubuntu 12.04

  

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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts