Funções de data usando time.h

Publicado por Danilo em 23/05/2004

[ Hits: 49.912 ]

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

Listar arquivos de um diretório em C

Sockets em shell script

CD's do Ubuntu de graça!

Opções de optimização do VNC

HTTP headers, HTTP por força bruta

Leitura recomendada

Lendo strings com espaço em branco usando scanf

Liberando o usuário root para acesso remoto via ssh

Cliente SSH para Windows

Brilho / Tela piscando no Ubuntu 9.10 com MSI Wind

PhpMyAdmin no Debian Squeeze

  

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