Manpages

NOME

asctime, ctime, gmtime, localtime, mktime − convertem datas e horas binárias para ASCII

SINOPSE

#include <time.h>

char *asctime(const struct tm *timeptr);

char *ctime(const time_t *timep);

struct tm *gmtime(const time_t *timep);

struct tm *localtime(const time_t *timep);

time_t mktime(struct tm *timeptr);

extern char *tzname[2];
long int
timezone;
extern int
daylight;

DESCRIÇÃO

As funções ctime(), gmtime() e localtime() recebem um argumento tipo time_t, que representa um ponto no tempo. Quando interpretado como um valor absoluto, representa o número de segundos desde as 00:00:00 de 1 de janeiro de 1970 (Hora Universal Sincronizada - UTC).

As funções asctime() e mktime() recebem um argumento que representa um instante definido em termos de ano, mês, dia, etc. Este argumento é uma struct tm (definida em <time.h>) que contém:

struct tm
{

int

tm_sec;

/* segundos */

int

tm_min;

/* minuto */

int

tm_hour;

/* horas */

int

tm_mday;

/* dia do mês */

int

tm_mon;

/* mês */

int

tm_year;

/* ano */

int

tm_wday;

/* dia da semana */

int

tm_yday;

/* dia do ano */

int

tm_isdst;

/* horário de verão */

};

Os componentes do struct tm são

tm_sec

Segundos após o minuto. Normalmente de 0 a 59, mas podendo chegar a 61 no caso de um segundo ser acrescentado.

tm_min

Minutos depois da hora. De 0 a 59.

tm_hour

Horas após a meia noite. De 0 a 23.

tm_mday

Dia do mês. De 1 a 31.

tm_mon

Meses desde janeiro. De 0 a 11.

tm_year

Anos desde 1900.

tm_wday

Dias de semana desde domingo. De 0 a 6.

tm_yday

Dias desde 1 de janeiro. De 0 a 365.

tm_isdst

Um flag que indica se se está em vigência do horário de verão. É um valor positivo se estiver, zero se não estiver e negativo se esta informação não estiver disponível.

A função ctime() converte timep numa string no formato

"Wed Jun 30 21:49:08 1993\n"

As abreviaturas dos dias da semana são ’Sun’, ’Mon’, ’Tue’, ’Wed’, ’Thu’, ’Fri’ e ’Sat’,e as dos meses são ’Jan’, ’Feb’, ’Mar’, ’Apr’, ’May’, ’Jun’, ’Jul’, ’Aug’, ’Sep’, ’Oct’, ’Nov’ e ’Dec’. O valor retornado aponta para uma string alocada estaticamente, e que pode ser sobrescrita por chamadas subseqüentes a quaisquer das funções de data e hora. A função também coloca informação sobre o fuso horário atual na variável externa tzname.

A função gmtime() converte o instante timep para a representação detalhada do UTC.

A função localtime() converte o instante timep para a representação detalhada UTC, mas corrigida para o fuso horário do usuário. Esta função coloca informações de fuso horário na variável externa tzname, a diferença entre a UTC e a hora local em segundos em timezone e um valor diferente de zero em daylight se o horário de verão estiver em vigor.

A função asctime() converte o valor de tempo timeptr para uma string com o mesmo formato que ctime(). O valor retornado aponta para uma string alocada estaticamente que pode ser sobrescrita por chamadas subseqüentes a quaisquer das funções de data e tempo.

A função mktime() converte uma struct de tempo detalhada, definida como hora local, para um ponto no tempo. Esta função ignora tm_wday e tm_yday, recalculando-os a partir dos outros dados no struct. Os membros serão recalculados se excederem seus valores máximos (ex. 40 de outubro mudará para 9 de novembro). Uma chamada a mktime() também colocará informações sobre o fuso horário em tzname. Se o tempo especificado não puder ser representado no calendário (em segundos desde a Época), mktime() retornará (time_t)(−1) sem alterar os componentes tm_wday e tm_yday do struct.

DE ACORDO COM

SVID 3, POSIX, BSD 4.3, ISO 9899

VER TAMBÉM

date(1), gettimeofday(2), time(2), tzset(3), difftime(3), strftime(3), newctime(3)

TRADUZIDO POR LDP-BR em 21/08/2000.

Paulo César Mendes <drpc [AT] ism.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx [AT] xxxxxx.xx> (revisão)