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@ism.com.br> (tradução)
xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)