Dela via


ctime, _ctime32, _ctime64, _wctime, _wctime32_wctime64

Konvertera ett tidsvärde till en sträng och justera för lokala tidszonsinställningar. Säkrare versioner av dessa funktioner är tillgängliga. se ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s.

Syntax

char *ctime( const time_t *sourceTime ); // See note in remarks section about linkage
char *_ctime32( const __time32_t *sourceTime );
char *_ctime64( const __time64_t *sourceTime );
wchar_t *_wctime( const time_t *sourceTime ); // See note in remarks section about linkage
wchar_t *_wctime32( const __time32_t *sourceTime );
wchar_t *_wctime64( const __time64_t *sourceTime );

Parameterar

sourceTime
Pekare till lagrad tid för konvertering.

Returvärde

En pekare till teckensträngsresultatet. NULL returneras när:

  • sourceTime representerar ett datum före midnatt, 1 januari 1970, UTC.

  • Du använder _ctime32 eller _wctime32och sourceTime representerar ett datum efter 23:59:59 18 januari 2038, UTC.

  • Du använder _ctime64 eller _wctime64och sourceTime representerar ett datum efter 23:59:59, 31 december 3000, UTC.

ctime är en infogad funktion som utvärderas till _ctime64och time_t motsvarar __time64_t. Om du behöver tvinga kompilatorn att tolka time_t som den gamla 32-bitars time_tkan du definiera _USE_32BIT_TIME_T. Det här makrot gör ctime att det utvärderas till _ctime32. Vi rekommenderar inte att du använder det eftersom ditt program kan misslyckas efter den 18 januari 2038 och inte tillåts på 64-bitarsplattformar.

Anmärkningar

Funktionen ctime konverterar ett tidsvärde som lagras som ett time_t värde till en teckensträng. Värdet sourceTime hämtas vanligtvis från ett anrop till time, som returnerar antalet sekunder som förflutit sedan midnatt (00:00:00), 1 januari 1970, samordnad universell tid (UTC). Returvärdesträngen innehåller exakt 26 tecken och har formuläret:

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

En 24-timmarsklocka används. Alla fält har en konstant bredd. Det nya radtecknet (\n) och nulltecknet (\0) upptar strängens två sista positioner.

Den konverterade teckensträngen justeras också enligt inställningarna för den lokala tidszonen. Information om hur du konfigurerar den lokala tiden finns i timefunktionerna , _ftimeoch localtime . Mer information om hur du definierar tidszonsmiljön och globala variabler finns i _tzset funktionen.

Ett anrop för att ctime ändra den enda statiskt allokerade bufferten gmtime som används av funktionerna och localtime . Varje anrop till någon av dessa rutiner förstör resultatet av föregående anrop. ctime delar en statisk buffert med asctime funktionen. Därför förstör ett anrop till ctime resultatet av ett tidigare anrop till asctime, localtimeeller gmtime.

_wctime och _wctime64 är wide-character versionen av ctime och _ctime64; returnerar en pekare till wide-character sträng. I annat fall _ctime64, _wctimeoch _wctime64 beter sig identiskt med ctime.

Dessa funktioner verifierar sina parametrar. Om sourceTime är en null-pekare, eller om sourceTime värdet är negativt, anropar dessa funktioner den ogiltiga parameterhanteraren enligt beskrivningen i Parameterverifiering. Om körningen tillåts fortsätta returneras NULL funktionerna och anges errno till EINVAL.

Som standard är den här funktionens globala tillstånd begränsat till programmet. Information om hur du ändrar det här beteendet finns i Globalt tillstånd i CRT.

Anmärkning

När du använder Windows SDK version 10.0.26100.6901 och Visual Studio 2026 eller senare tillsammans och ctime_wctime inte längre static inline är (intern länkning). I stället är inline de (extern länkning).
För att återgå till det tidigare beteendet, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 innan du inkluderar några CRT-huvuden. Som standard _STATIC_INLINE_UCRT_FUNCTIONS är värdet 0.
Den här ändringen ökar UCRT-överensstämmelsen med C++-standarden och förbättrar kompatibiliteten med C++-moduler.

Allmän textrutinmappning

TCHAR.H rutin _UNICODE och _MBCS inte definierad _MBCS definierad _UNICODE definierad
_tctime ctime ctime _wctime
_tctime32 _ctime32 _ctime32 _wctime32
_tctime64 _ctime64 _ctime64 _wctime64

Kravspecifikation

Rutin Obligatoriskt huvud
ctime <time.h>
_ctime32 <time.h>
_ctime64 <time.h>
_wctime <time.h> eller <wchar.h>
_wctime32 <time.h> eller <wchar.h>
_wctime64 <time.h> eller <wchar.h>

Mer kompatibilitetsinformation finns i Kompatibilitet.

Example

// 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

Se även

Tidshantering
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