Función RtlTimeToSecondsSince1970 (winternl.h)
[RtlTimeToSecondsSince1970 está disponible para su uso en Windows 2000 y Windows XP. Puede no estar disponible o modificarse en versiones posteriores.
Convierte la hora del sistema de 64 bits especificada en el número de segundos transcurridos desde el 1 de enero de 1970.
BOOLEAN RtlTimeToSecondsSince1970(
[in] PLARGE_INTEGER Time,
[out] PULONG ElapsedSeconds
);
[in] Time
Puntero a una estructura LARGE_INTEGER que especifica la hora del sistema. Los años válidos para este valor son de 1970 a 2105 inclusive.
[out] ElapsedSeconds
Puntero a una variable que recibe el número de segundos.
Si la función se ejecuta correctamente, devuelve TRUE. Si se produce un error, devuelve FALSE. Normalmente, esta función producirá un error si el valor especificado del parámetro Time no está dentro del período de tiempo válido especificado en la descripción del parámetro.
Esta función no tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Ntdll.dll.
No hay ninguna función pública equivalente única. Para realizar esta tarea mediante funciones públicas, siga estos pasos:
- Llame a SystemTimeToFileTime para copiar la hora del sistema en una estructura FILETIME . Llame a GetSystemTime para obtener la hora actual del sistema para pasar a SystemTimeToFileTime.
- Copie el contenido de la estructura FILETIME en una estructura de ULARGE_INTEGER .
- Inicialice una estructura SYSTEMTIME con la fecha y hora del primer segundo de enero de 1970.
- Llame a SystemTimeToFileTime y pase la estructura SYSTEMTIME inicializada en el paso 3 a la llamada.
- Copie el contenido de la estructura FILETIME devuelta por SystemTimeToFileTime en el paso 4 a un segundo ULARGE_INTEGER. El valor copiado debe ser menor o igual que el valor copiado en el paso 2.
- Resta el valor de 64 bits de la estructura ULARGE_INTEGER inicializada en el paso 5 (1 de enero de 1970) del valor de 64 bits de la estructura de ULARGE_INTEGER inicializada en el paso 2 (la hora actual del sistema). Esto genera un valor en intervalos de 100 nanosegundos desde el 1 de enero de 1970. Para convertir este valor en segundos, divida entre 10 000 000.
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | winternl.h |
Library | ntdll.lib |
Archivo DLL | ntdll.dll |