ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

Convierte un valor de hora en cadena y lo ajusta según la configuración de zona horaria local. Hay disponibles versiones más seguras de estas funciones; consulte ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s.

Sintaxis

char *ctime( const time_t *sourceTime );
char *_ctime32( const __time32_t *sourceTime );
char *_ctime64( const __time64_t *sourceTime );
wchar_t *_wctime( const time_t *sourceTime );
wchar_t *_wctime32( const __time32_t *sourceTime );
wchar_t *_wctime64( const __time64_t *sourceTime );

Parámetros

sourceTime
Puntero al tiempo almacenado que se va a convertir.

Valor devuelto

Puntero al resultado de la cadena de caracteres. NULL se devuelve cuando:

  • sourceTime representa una fecha anterior a la medianoche del 1 de enero de 1970, UTC.

  • _ctime32 Usa o _wctime32, y sourceTime representa una fecha después de las 23:59:59 del 18 de enero de 2038, UTC.

  • _ctime64 Usa o _wctime64, y sourceTime representa una fecha posterior a las 23:59:59, 31 de diciembre de 3000, UTC.

ctime es una función insertada que se evalúa como _ctime64 y time_t es equivalente a __time64_t. Si necesita forzar el compilador para interpretar time_t como el antiguo time_tde 32 bits, puede definir _USE_32BIT_TIME_T. Esta macro hace que ctime se evalúe como _ctime32. No se recomienda usarlo, ya que la aplicación puede producir un error después del 18 de enero de 2038 y no se permite en plataformas de 64 bits.

Comentarios

La ctime función convierte un valor de hora almacenado como un time_t valor en una cadena de caracteres. El sourceTime valor se obtiene normalmente de una llamada a time, que devuelve el número de segundos transcurridos desde medianoche (00:00:00), 1 de enero de 1970, hora universal coordinada (UTC). La cadena del valor devuelto contiene exactamente 26 caracteres y tiene el formato:

Wed Jan 02 02:03:55 1980\n\0

Se usa un reloj de 24 horas. Todos los campos tienen un ancho constante. El carácter de nueva línea ("\n") y el carácter nulo ("\0") ocupan las dos últimas posiciones de la cadena.

La cadena de caracteres convertidos también se ajusta en función de la configuración de zona horaria local. Para obtener información sobre cómo configurar la hora local, vea las timefunciones , _ftimey localtime . Para más información sobre cómo definir el entorno de zona horaria y las variables globales, consulte la _tzset función .

Una llamada a ctime modifica el búfer único asignado estáticamente que usan las funciones gmtime y localtime. Cada llamada a una de estas rutinas destruye el resultado de la llamada anterior. ctime comparte un búfer estático con la función asctime. Por lo tanto, una llamada a ctime destruye los resultados de las llamadas anteriores a asctime, localtime o gmtime.

_wctime y _wctime64 son las versiones de caracteres anchos de ctime y _ctime64; devuelven un puntero a una cadena de caracteres anchos. De lo contrario, _ctime64, _wctime y _wctime64 se comportan exactamente igual que ctime.

Estas funciones validan sus parámetros. Si sourceTime es un puntero nulo o si el sourceTime valor es negativo, estas funciones invocan al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, las funciones devuelven NULL y establecen errno en EINVAL.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tctime ctime ctime _wctime
_tctime32 _ctime32 _ctime32 _wctime32
_tctime64 _ctime64 _ctime64 _wctime64

Requisitos

Routine Encabezado necesario
ctime <time.h>
_ctime32 <time.h>
_ctime64 <time.h>
_wctime <time.h> o <wchar.h>
_wctime32 <time.h> o <wchar.h>
_wctime64 <time.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_ctime64.c
// compile with: /W3
/* This program gets the current
* time in _time64_t form, then uses ctime to
* display the time in string form.
*/

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

int main( void )
{
   __time64_t ltime;

   _time64( &ltime );
   printf( "The time is %s\n", _ctime64( &ltime ) ); // C4996
   // Note: _ctime64 is deprecated; consider using _ctime64_s
}
The time is Wed Feb 13 16:04:43 2002

Consulte también

Administración de tiempo
asctime, _wasctime
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64