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)