CTIME(3)

NOMBRE
asctime, ctime, gmtime, localtime, mktime - transforman fechas y horas binarias a ASCII

SINOPSIS
#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;

DESCRIPCION
La funciones ctime(), gmtime() y localtime() toman todas un argumento de tipo time_t que representa la hora calendario. Al ser interpretado como un valor de hora absoluto, este representa el número de segundos transcurridos desde 00:00:00 de Enero 1, 1970, Coordinated Universal Time (UTC).

Las funciones asctime() y mktime() toman un argumento representando la hora descompuesta, que es una representación binaria separada en año, mes, día, etc. La hora descompuesta es guardada en una estructura tm que es definida en <time.h> como sigue:

    struct tm
    {
    	int	tm_sec;			/* seconds */
    	int	tm_min;			/* minutes */
    	int	tm_hour;		/* hours */
    	int	tm_mday;		/* day of the month */
    	int	tm_mon;			/* month */
    	int	tm_year;		/* year */
    	int	tm_wday;		/* day of the week */
    	int	tm_yday;		/* day in the year */
    	int	tm_isdst;		/* daylight saving time */
    };

Los miembros de la estructura tm son:

tm_sec
    El número de segundos, normalmente en el rango de 0 a 59, pero puede llegar a 61 para permitir saltar segundos (leap seconds)

tm_min
    El número de segundos, en el rango 0 a 59.

tm_hour
    El número de horas pasada la medianoche, en el rango 0 a 23.

tm_mday
    El día del mes, en el rango de 1 a 31.

tm_mon
    El número de mes desde Enero, en el rango 0 a 11.

tm_year
    El número de años desde 1900.

tm_wday
    El número de dias desde el Domingo, en el rango 0 a 6.

tm_yday
    El número de dias desde Enero 1, en el rango 0 a 365.

tm_isdst
    Una bandera que indica si la hora de resguardo a la luz de día esta en efecto en la hora descripta. El valor es positivo si el resguardo está en efecto, cero si no lo está, y negativo si la información no está disponible.

La función ctime() convierte la hora calendario timep en una cadena de la forma

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

Las abreviaciones para los dias de la semana son `Sun', `Mon', `Tue', `Wed', `Thu', `Fri', y `Sat'. Las abraviaciones para los meses son `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug', `Sep', `Oct', `Nov', y `Dec'. El valor retornado apunta a una cadena alojada estaticamente que puede ser sobreescrita por subsecuentes llamadas a cualquiera de las funciones de fecha u hora. Las funciones también asignan la variable externa tzname con la información acerca de la zona horaria corriente.

La función gmtime() convierte la hora calendario timep en una respresentación descompuesta de la hora, expresada en Coordinated Universal Time (UTC).

La función localtime() convierte la hora calendario timep en una representación descompuesta, expresada relativa a la zona horaria especificada por el usuario. La función asigna la variable externa tzname con información acerca de la zona horaria corriente, timezone con la diferencia entre Coordinated Universal Time (UTC) y la hora local estandar en segundos, y daylight a un valor distinto de cero si las reglas del estandar US de hora de resguardo a la luz del día se aplican.

La función asctime() convierte la descomposición de la hora timeptr en una cadena con el mismo formato que ctime(). El valor retornado apunta a una cadena alojada estaticamente que puede ser sobreescrita por subsecuentes llamadas a cualquiera de las funciones de fecha u hora.

La función mktime() convierte una descomposición de una estructura horaria a una representación de hora calendaria. La función ignora los contenidos especifícos en los miembros de la estructura tm_wday y tm_yday y los recalcula desde otra información en la descomposición de la estructura horaria. Llamando a mktime() también asigna la variable externa tzname con información acerca de la corriente zona horaria. Si la descomposición horaria no puede ser representada como hora calendaria, mktime() retorna un valor de (time_t)(-1) y no altera los miembros tm_wday y tm_yday de la estructura horaria descompuesta.

CONFORME A
SVID 3, POSIX, BSD 4.3, ISO 9899

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