localtime, _localtime32, _localtime64

Convierte un valor de hora y corregirlo en la zona horaria local.Versiones más seguras de estas funciones están disponibles; vea localtime_s, _localtime32_s, _localtime64_s.

struct tm *localtime(
   const time_t *timer 
);
struct tm *_localtime32(
   const __time32_t *timer
);
struct tm *_localtime64(
   const __time64_t *timer 
);

Parámetros

  • timer
    Puntero al tiempo almacenado.

Valor devuelto

Devuelve un puntero al resultado de la estructura, o NULL si la última fecha a la función:

  • antes de medianoche, el 1 de enero de 1970.

  • después de 03:14: 07, el 19 de enero de 2038, hora UTC (mediante _time32y time32_t).

  • después de 23:59: 59, el 31 de diciembre, 3000, hora UTC (mediante _time64 y __time64_t).

_localtime64, que utiliza la estructura de __time64_t , permite que las fechas están expresadas hacia arriba con 23:59: 59, el 31 de diciembre, 3000, hora universal coordinada (UTC) (UTC), mientras que _localtime32 representa las fechas con 03:14: 7 de enero de 19, 2038, La hora UTC.

localtime es una función inline que se evalúa como _localtime64, y time_t es equivalente a __time64_t.Si necesita hacer que el compilador para interpretar time_tcomo time_tde 32 bits anterior, puede definir _USE_32BIT_TIME_T.Hacer esto hará localtime evalúe _localtime32.Esto no es recomendable porque la aplicación puede producir un error después del 19 de enero de 2038, y no se permite en plataformas de 64 bits.

Los campos de tipo TM de estructura almacenan valores siguientes, que es int:

  • tm_sec
    Segundos después de min (0 – 59).

  • tm_min
    minutos después de la hora (0 – 59).

  • tm_hour
    horas después de la medianoche (0 – 23).

  • tm_mday
    Día del mes (1 – 31).

  • tm_mon
    mes (0 – 11; enero = 0).

  • tm_year
    Año (año actual menos 1900).

  • tm_wday
    día de la semana (0 – 6; domingo = 0).

  • tm_yday
    Día del año (0 – 365; 1 de enero = 0).

  • tm_isdst
    Valor positivo si el horario de verano está vigente; 0 si el horario de verano no está vigente; valor negativo si el estado de horario de verano es desconocido.Si se establece la variable de entorno TZ , la biblioteca en tiempo de ejecución de C supone las reglas adecuadas a los Estados Unidos para implementar el cálculo en tiempo de hora-ahorro (DST).

Comentarios

La función de localtime convierte una hora almacenada como valor de time_t y almacena el resultado en una estructura de tmescrito.El valor timer de long representa los segundos transcurridos desde la medianoche (00:00: 00), el 1 de enero de 1970, hora UTC.Este valor se normalmente obtiene de la función de time .

La versión de 32 bits y la de 64 bits de gmtime, de mktime, de mkgmtime, y de localtime todos utilizan una única estructura de tm por el subproceso para la conversión.cada llamada a una de estas rutinas destruye el resultado de la llamada anterior.

localtime corrige en la zona horaria local si el usuario primero establece la variable de entorno global TZ.Cuando se establece TZ , otras tres variables de entorno (_timezone, _daylight, y _tzname) se establecen automáticamente también.Si la variable de TZ no se establece, los intentos de localtime de utilizar la información de zona horaria especificada en la aplicación de fecha y hora en Panel de control.Si esta información no puede obtenerse, PST8PDT, lo que significa que la zona horaria del Pacífico, se utiliza de forma predeterminada.Vea _tzset para obtener una descripción de estas variables.TZ es una extensión de Microsoft y no una parte de la definición del estándar ANSI de localtime.

[!NOTA]

El entorno de destino debe intentar determinar si el horario de verano está vigente.

estas funciones validan sus parámetros.Si timer es un puntero null, o si el valor del temporizador es negativo, estas funciones se invoca un controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, las funciones NULL return y errno determinado a EINVAL.

Requisitos

rutina

Encabezado necesario

localtime

<time.h>

_localtime32

<time.h>

_localtime64

<time.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

// crt_localtime.cpp
// compile with: /W3
/* This program uses _time64 to get the current time 
 * and then uses localtime64() to convert this time to a structure 
 * representing the local time. The program converts the result 
 * from a 24-hour clock to a 12-hour clock and determines the 
 * proper extension (AM or PM).
 */

#include <stdio.h>
#include <string.h>
#include <time.h>

int main( void )
{
        struct tm *newtime;
        char am_pm[] = "AM";
        __time64_t long_time;

        _time64( &long_time );           // Get time as 64-bit integer.
                                         // Convert to local time.
        newtime = _localtime64( &long_time ); // C4996
        // Note: _localtime64 deprecated; consider _localetime64_s

        if( newtime->tm_hour > 12 )        // Set up extension.
                strcpy_s( am_pm, sizeof(am_pm), "PM" );
        if( newtime->tm_hour > 12 )        // Convert from 24-hour
                newtime->tm_hour -= 12;    //   to 12-hour clock.
        if( newtime->tm_hour == 0 )        // Set hour to 12 if midnight.
                newtime->tm_hour = 12;

        char buff[30];
        asctime_s( buff, sizeof(buff), newtime );
        printf( "%.19s %s\n", buff, am_pm );
}
  

Equivalente en .NET Framework

System:: fecha y hora:: ToLocalTime

Vea también

Referencia

Administración de tiempo

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset