asctime, _wasctime

Konvertieren Sie eine tm-Zeitstruktur in einer Zeichenfolge. Sicherere Versionen dieser Funktionen sind verfügbar; siehe asctime_s, _wasctime_s.

Syntax

char *asctime(
   const struct tm *timeptr
);
wchar_t *_wasctime(
   const struct tm *timeptr
);

Parameter

timeptr
Zeit-/Datumsstruktur.

Rückgabewert

asctime gibt einen Zeiger auf das Zeichenfolgeergebnis zurück; _wasctime gibt einen Zeiger auf das Breitzeichenfolge-Ergebnis zurück. Es gibt keinen Fehlerrückgabewert.

Hinweise

Sicherere Versionen dieser Funktionen sind verfügbar; siehe asctime_s, _wasctime_s.

Die asctime-Funktion konvertiert eine als Struktur gespeicherte Zeit in eine Zeichenfolge. Der timeptr Wert wird in der Regel aus einem Aufruf von gmtime oder localtime, die beide einen Zeiger auf eine tm Struktur zurückgeben, die in TIME.H definiert wird.

timeptr -Member Wert
tm_hour Stunden seit Mitternacht (0-23)
tm_isdst Positiv, wenn Sommerzeit wirksam ist; 0, wenn die Sommerzeit nicht wirksam ist; negativ, wenn der Status der Sommerzeit unbekannt ist. Die C-Laufzeitbibliothek wendet die Regeln der Vereinigten Staaten an, um die Berechnung der Sommerzeit (DST, Daylight Saving Time) zu implementieren.
tm_mday Tag des Monats (1–31)
tm_min Minuten nach Stunde (0-59)
tm_mon Monat (0-11; Januar = 0)
tm_sec Sekunden nach Minute (0-59)
tm_wday Wochentag (0-6; Sonntag = 0)
tm_yday Tag des Jahres (0-365; 1. Januar = 0)
tm_year Jahr (aktuelles Jahr minus 1900)

Informationen zum Konfigurieren der Ortszeit finden Sie in den time, _ftimeund localtime funktionen. Informationen zum Definieren der Zeitzonenumgebung und globalen Variablen finden Sie in der _tzset Funktion.

Das von asctime erstellte Zeichenfolgeergebnis enthält genau 26 Zeichen und sieht so aus: Wed Jan 2 02:03:55 1980\n\0. Eine 24-Stunden-Uhr wird verwendet. Alle Felder haben eine feste Breite. Die Zeilenwechsel- und Nullzeichen nehmen die letzten beiden Stellen der Zeichenfolge ein. asctime verwendet einen einzelnen, statisch zugeordneten Puffer, um die Rückgabezeichenfolge zu halten. Jeder Aufruf dieser Funktion zerstört das Ergebnis des vorherigen Aufrufs.

_wasctime ist eine breitformatige Version von asctime, und verhält sich andernfalls identisch mit asctime.

Diese Funktionen überprüfen ihre Parameter. Wenn timeptr es sich um einen Nullzeiger handelt oder wenn er Außerhalb des Bereichs Werte enthält, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die 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 Textroutinenzuordnung

TCHAR.H Routine _UNICODE und _MBCS nicht definiert _MBCS Definiert _UNICODE Definiert
_tasctime asctime asctime _wasctime

Anforderungen

Routine Erforderlicher Header
asctime <time.h>
_wasctime <time.h> oder <wchar.h>

Beispiel

Dieses Programm platziert die Systemzeit in der langen ganzzahligen Zahl aclock, übersetzt sie in die Struktur newtimeund konvertiert sie dann in Zeichenfolgenform für die Ausgabe mit der asctime Funktion.

// crt_asctime.c
// compile with: /W3

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

int main( void )
{
    struct tm   *newTime;
    time_t      szClock;

    // Get time in seconds
    time( &szClock );

    // Convert time to struct tm form
    newTime = localtime( &szClock );

    // Print local time as a string.
    printf_s( "Current date and time: %s", asctime( newTime ) ); // C4996
    // Note: asctime is deprecated; consider using asctime_s instead
}
Current date and time: Sun Feb  3 11:38:58 2002

Siehe auch

Zeitverwaltung
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64
_tzset
asctime_s, _wasctime_s