FuncoesDeTempoNoC

De MediaWiki do Campus São José
Revisão de 07h25min de 23 de novembro de 2018 por 127.0.0.1 (discussão) (→‎Introdução)
Ir para navegação Ir para pesquisar

Introdução

Em vários projetos de desenvolvimento surge a necessidade de representar data e hora. Por exemplo, um evento em uma agenda eletrônica deve ter associado a ele uma data e hora do momento em que este evento acontece. É natural que se pense ema representação na forma de uma struct:

struct data_hora {
  int ano,
      mes,
      dia,
      hora,
      minuto,
      segundo
};

Entretanto, a biblioteca glibc da GNU já apresenta uma série de definições e funções sobre o tempo. É importante conhecê-las pois facilitarão o desenvolvimento dos programs no sentido que permitirão rapidamente ler a hora e data do sistema, computar intervalos de tempo, entre outras possibilidades.

A struct tm que representa o tempo

A struct tm, conforme manual do linux possui a seguinte estrutura:

/* definida em time.h */
struct tm {
               int tm_sec;    /* segundos (0-60) */
               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 (0-11) */
               int tm_year;   /* ano - 1900 */
               int tm_wday;   /* dia da semana (0-6, Domingo = 0) */
               int tm_yday;   /* dia do ano (0-365, 1 Jan = 0) */
               int tm_isdst;  /* flag de horário de verão (HV): 1-se é HV, 0-não é HV, -1 se não existe esta informação */
           };