|
|||||||
|
|
GETTIMEOFDAYSection: Manual del Programador de Linux (2)Updated: 10 diciembre 1997 Index Return to Main Contents NOMBREgettimeofday, settimeofday - pone u obtiene la horaSINOPSIS#include <sys/time.h>#include <unistd.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
DESCRIPCIÓNgettimeofday y settimeofday pueden poner tanto la hora como una zona horaria. tv es una estructura timeval, tal como se especifica en /usr/include/sys/time.h:
struct timeval {
long tv_sec; /* segundos */
long tv_usec; /* microsegundos */
};
y tz es una estructura timezone :
struct timezone {
int tz_minuteswest; /* minutos al O de Greenwich */
int tz_dsttime; /* tipo de correción horaria invierno/verano */
};
El uso de la estructura timezone es obsoleto; el campo tz_dsttime nunca ha sido utilizado en Linux - no lo ha sido y nunca será soportado por libc o glibc. Todas y cada una de las ocurrencias de este campo en el fuente del núcleo (distintas de la declaración) son un fallo. Por tanto, lo siguiente es puramente de interés histórico. El campo tz_dsttime contiene una constante simbólica (los valores se dan más abajo) que indica en qué parte del año la `correción horaria invierno/verano' (Daylight Saving Time, DST, también conocida como `horario de ahorro energético') está en vigor. (Nota: su valor es constante a lo largo del año - no indica si DST está o no en vigor, sólo selecciona un algoritmo). Los algoritmos de corrección horaria invierno/verano se definen como sigue:
DST_NONE /* no hay */
Naturalmente, resultó ser que el periodo en el que la corrección horaria invierno/verano está en vigor no se podía dar mediante un simple algoritmo, uno por país: de hecho, este periodo se determina por decisiones políticas impredecibles. Por tanto, este método de representación de las zonas horarias se ha abandonado. Bajo Linux, en una llamada a settimeofday el campo tz_dsttime debe ser cero. Bajo Linux hay algunas semánticas de `Warp clock' peculariares asociadas a la llamada al sistema settimeofday si en la primera llamada de todas (después del arranque) que tenga un argumento tz no NULL, el argumento tv es NULL y el campo tz_minuteswest es no cero. En tal caso, se asume que el reloj CMOS está en el horario local y que tiene que ser incrementado en esta cantidad para obtener el horario del sistema UTC. No cabe duda que usar esta característica es una mala idea.
Para operar sobre la estructura timeval se definen las siguientes macros:
#define timerisset(tvp)\ Si tv o tz es nulo, la estructura correspondiente no se ajusta ni se devuelve. Solamente el super-usuario puede emplear settimeofday. VALOR DEVUELTOgettimeofday y settimeofday devuelven 0 en caso de éxito ó -1 si ocurre un fallo (en cuyo caso errno toma un valor apropiado).ERRORES
CONFORME ASVr4, BSD 4.3VÉASE TAMBIÉNdate(1), adjtimex(2), time(2), ctime(3), ftime(3)
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |