asctime
, _wasctime
Konvertieren Sie eine tm
-Zeitstruktur in einer Zeichenfolge. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter 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. Informationen dazu finden Sie unter 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
, _ftime
und 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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der 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 newtime
und 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