.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 19:49:27 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Fri Apr 26 12:38:55 MET DST 1996 by Martin Schulze (joey@linux.de) .\" .TH CTIME 3 "April 26, 1996" "BSD" "Linux Programmer's Manual" .SH NOME asctime, ctime, gmtime, localtime, mktime \- convertem datas e horas binárias para ASCII .SH SINOPSE .nf .B #include .sp .BI "char *asctime(const struct tm *" timeptr ); .sp .BI "char *ctime(const time_t *" timep ); .sp .BI "struct tm *gmtime(const time_t *" timep ); .sp .BI "struct tm *localtime(const time_t *" timep ); .sp .BI "time_t mktime(struct tm *" timeptr ); .sp .BI "extern char *" tzname [2]; .BI "long int " timezone ; .BI "extern int " daylight ; .fi .SH DESCRIÇÃO As funções \fBctime()\fP, \fBgmtime()\fP e \fBlocaltime()\fP recebem um argumento tipo \fItime_t\fP, 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). .PP As funções \fBasctime()\fP e \fBmktime()\fP recebem um argumento que representa um instante definido em termos de ano, mês, dia, etc. Este argumento é uma struct \fItm\fP (definida em \fI\fP) que contém: .sp .RS .nf .ne 12 .ta 8n 16n 32n 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 */ }; .ta .fi .RE .PP Os componentes do struct \fItm\fP são .TP .I tm_sec Segundos após o minuto. Normalmente de 0 a 59, mas podendo chegar a 61 no caso de um segundo ser acrescentado. .TP .I tm_min Minutos depois da hora. De 0 a 59. .TP .I tm_hour Horas após a meia noite. De 0 a 23. .TP .I tm_mday Dia do mês. De 1 a 31. .TP .I tm_mon Meses desde janeiro. De 0 a 11. .TP .I tm_year Anos desde 1900. .TP .I tm_wday Dias de semana desde domingo. De 0 a 6. .TP .I tm_yday Dias desde 1 de janeiro. De 0 a 365. .TP .I 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. .PP A função \fBctime()\fP converte \fItimep\fP numa string no formato .sp .RS "Wed Jun 30 21:49:08 1993\\n" .RE .sp 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 \fItzname\fP. .PP A função \fBgmtime()\fP converte o instante \fItimep\fP para a representação detalhada do UTC. .PP A função \fBlocaltime()\fP converte o instante \fItimep\fP 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 \fItzname\fP, a diferença entre a UTC e a hora local em segundos em \fItimezone\fP e um valor diferente de zero em \fIdaylight\fP se o horário de verão estiver em vigor. .PP A função \fBasctime()\fP converte o valor de tempo \fItimeptr\fP para uma string com o mesmo formato que \fBctime()\fP. 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. .PP A função \fBmktime()\fP converte uma struct de tempo detalhada, definida como hora local, para um ponto no tempo. Esta função ignora \fItm_wday\fP e \fItm_yday\fP, 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 \fBmktime()\fP também colocará informações sobre o fuso horário em \fItzname\fP. Se o tempo especificado não puder ser representado no calendário (em segundos desde a Época), \fBmktime()\fP retornará (time_t)(\-1) sem alterar os componentes \fItm_wday\fP e \fItm_yday\fP do struct. .SH "DE ACORDO COM" SVID 3, POSIX, BSD 4.3, ISO 9899 .SH "VER TAMBÉM" .BR date "(1), " gettimeofday "(2), " time "(2), " tzset (3), .BR difftime (3), .BR strftime (3), .BR newctime (3) .SH TRADUZIDO POR LDP-BR em 21/08/2000. \&\fR\&\f(CWPaulo César Mendes (tradução)\fR \&\fR\&\f(CWxxxxxxxxxxxxxxxxxxxxxxxxx (revisão)\fR