Trabalhando com datas


- time - retorna a data atual em timestamp (segundos) contatos a partir de 1 de Janeiro 1970

- gmtime - converte o timestamp para uma estrutura, com os campos abaixo:

   tm_sec - segundos (0 – 59)
   tm_min - minutos (0 – 59)
   tm_hour - horas (0 – 23)
   tm_mday - dia do mês (1 – 31)
   tm_mon - mês (0 – 11; Janeiro = 0)
   tm_year - ano (devemos somar sempre 1900)
   tm_wday - dia da semana (0 – 6; Domingo = 0)
   tm_yday - dia do ano (0 – 365; 1 de Janeiro = 0)
   tm_isdst - 0 - 1 (se horário de verão. É sempre 0 no gmtime)

- mktime - cria um timestamp (converte tm para time_t)

- ctime - converte timestamp para texto

- difftime - calcula a diferença de segundos entre dois timestamps

Exemplo:


#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "string.h"

int main() {
    time_t minhadata = time(NULL);

    struct tm *tmp2 = gmtime(&minhadata); // transforma o timestamp da data em uma estrutra. (Somar 1900 ao ano)
    minhadata = mktime(tmp2);

    char prefix[40];
    strcpy(prefix, ctime(&minhadata));
	
	// diferenca entre 2 datas
	time_t inicio, fim, result;
	inicio = time(NULL);
    fim = time(NULL);
	
	result = difftime(inicio, fim);
  
    return 0;
} 

Veja outras funções em http://msdn.microsoft.com/en-us/library/windows/desktop/ms725473(v=vs.85).aspx




Comentários

Copyright © 2018 Anderson Bravo
www.andersonbravo.com.br
anderson@andersonbravo.com.br