ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

Konvertieren Sie einen Zeitwert in eine Zeichenfolge, und passen Sie sie an die Zeitzoneneinstellungen an. Sicherere Versionen dieser Funktionen sind verfügbar; siehe ctime_s, , _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, . _wctime64_s

Syntax

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 );

Parameter

sourceTime
Zeiger auf die zu konvertierende Zeit.

Rückgabewert

Ein Zeiger auf das Zeichenfolgenergebnis NULL wird zurückgegeben, wenn:

  • sourceTime ein Datum vor dem 1. Januar 1970 um Mitternacht (koordinierte Weltzeit, UTC) darstellt.

  • Sie verwenden _ctime32 oder _wctime32, und sourceTime stellt ein Datum nach 23:59:59 Januar 18, 2038, UTC dar.

  • Sie verwenden _ctime64 oder _wctime64, und sourceTime stellt ein Datum nach 23:59:59, 31. Dezember 3000, UTC dar.

ctime ist eine Inlinefunktion, die _ctime64 auswertet, und time_t entspricht __time64_t. Wenn Sie den Compiler zwingen müssen, time_t als das alte 32-Bit-time_t zu interpretieren, definieren Sie _USE_32BIT_TIME_T. Dieses Makro bewirkt ctime , dass das Makro ausgewertet wird _ctime32. Es wird nicht empfohlen, sie zu verwenden, da Ihre Anwendung nach dem 18. Januar 2038 fehlschlägt und auf 64-Bit-Plattformen nicht zulässig ist.

Hinweise

Die ctime Funktion konvertiert einen als Wert gespeicherten Zeitwert in time_t eine Zeichenfolge. Der sourceTime Wert wird in der Regel von einem Aufruf timevon abgerufen, der die Anzahl der Sekunden zurückgibt, die seit Mitternacht (00:00:00), 1. Januar 1970, koordinierte Weltzeit (UTC) vergangen sind. Der Rückgabewert der Zeichenfolge enthält genau 26 Zeichen und sieht so aus:

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

Eine 24-Stunden-Uhr wird verwendet. Alle Felder haben eine feste Breite. Das Zeichen für neue Zeile ('\n') und das Nullzeichen ('\0') nehmen die letzten beiden Stellen der Zeichenfolge ein.

Die konvertierte Zeichenfolge wird auch gemäß den lokalen Zeitzoneneinstellungen angepasst. Informationen zum Konfigurieren der Ortszeit finden Sie in den time, _ftimeund localtime funktionen. Ausführliche Informationen zum Definieren der Zeitzonenumgebung und globalen Variablen finden Sie in der _tzset Funktion.

Ein Aufruf von ctime ändert die einzelnen statisch zugewiesenen Puffer, die von der gmtime- und der localtime-Funktion verwendet werden. Bei jedem Aufruf dieser Routinen wird das Ergebnis des vorherigen Aufrufs zerstört. ctime teilt einen statischen Puffer mit der asctime-Funktion. Daher zerstört ein Aufruf von ctime die Ergebnisse jedes vorherigen Aufrufs von asctime, localtime oder gmtime.

_wctime und _wctime64 sind die Breitzeichenversion von ctime und _ctime64 und geben einen Zeiger auf die Breitzeichen-Zeichenfolge zurück. Andernfalls verhalten sich _ctime64, _wctime und _wctime64 identisch zu ctime.

Diese Funktionen überprüfen ihre Parameter. Wenn sourceTime es sich um einen NULL-Zeiger handelt oder der sourceTime Wert negativ ist, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt diese Funktion NULL zurück und setzt errno auf EINVAL.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Generische Textroutinzuordnungen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS Definiert _UNICODE Definiert
_tctime ctime ctime _wctime
_tctime32 _ctime32 _ctime32 _wctime32
_tctime64 _ctime64 _ctime64 _wctime64

Anforderungen

Routine Erforderlicher Header
ctime <time.h>
_ctime32 <time.h>
_ctime64 <time.h>
_wctime <time.h> oder <wchar.h>
_wctime32 <time.h> oder <wchar.h>
_wctime64 <time.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

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

Siehe auch

Zeitverwaltung
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