Asctime -Funktion in der C -Sprache

Asctime -Funktion in der C -Sprache
Die Zeitdaten werden aus Sekunden seit 00:00:00 UTC am 1. Januar 1970 GMT oder Unix Time berechnet. Um diese Daten in einem menschlichen lesbaren Format zu verwenden, müssen Sie die UNIX -Zeit in ein Uhrzeit und dann in eine Zeichenfolge konvertieren.

In diesem Linux -Hinweis Artikel, wir werden erklären, wie man benutzt Asctime () Um die Zeitdaten aus dem Systemkalender abzurufen und in eine Zeichenfolge umzuwandeln. Wir werden die theoretische Beschreibung der Struktur dieser Daten TM, die Syntax der Funktion und ihre Eingabe- und Ausgangsargumente zusammen mit den Datentypen untersuchen, die jeder von ihnen unterstützt. Wir werden dann die Verwendung dieser Funktion mit praktischen Beispielen mit Code -Snippets und Bildern implementieren.

ASCTIME () Funktionssyntax in C -Sprache

char * str asctime (const struct tm * tm_ptr);

Beschreibung der Funktion asctime () in der C -Sprache

Der Asctime () Funktion ruft die Informationen aus Struct TM ab, auf die durch die hingewiesen wird *tm_ptr Zeiger, konvertiert es in eine Zeichenfolge und gibt seinen Zeiger zurück in *str.

Das Format, das von dieser Funktion in der Ausgabebestation zurückgegeben wird, lautet wie folgt:

"Www mmm dd hh: mm: ss yyyy \ n \ 0"

Beide Tage und Monate werden durch die ersten drei Buchstaben ihrer Namen dargestellt. Die Daten werden für die Tage und Monate und vier Ziffern des Jahres durch zwei Ziffern dargestellt. Die Zeichenfolge, die entspricht str enthält am Ende ein spezielles Zeichen \ n \ 0.

Der Asctime () Funktion und ihre Variablen sind in der Zeit definiert.H ”Kopfball. Um sie zu benutzen, müssen wir sie in unsere aufnehmen “.c ”oder“.H ”Datei wie folgt:

#enthalten

So erhalten Sie die lokale Zeit im String -Format mit der Funktion asctime () in der C -Sprache

In diesem Beispiel zeigen wir Ihnen Schritt für Schritt, wie Sie die verwenden können Asctime () Funktion, um die Unix-Zeit- und lokalen Zeitdaten in der TM-Struktur zu erhalten, und konvertieren sie dann in eine Reihe menschlicher lesbarer Zeichen.

Wie wir in der Einführung erläutert haben, wird die Systemzeit aus der Unix -Zeit berechnet. Daher müssen wir diese Zeit zuerst mit der Time () -Funktion in bekommen time_t.

Im folgenden Snippet erhält Time () die Unix -Zeit in U_time und druckt es in die Befehlskonsole:

#enthalten
#enthalten
void main ()

TIME_TU_TIME;
U_time = time (null);
printf ("Unix -Zeit: %ld \ n", u_time);

Das folgende Bild zeigt die Unix -Zeit an, die in zurückgegeben wird U_time.

Sobald wir die Zeit von UNIX erhalten haben, müssen wir diese Daten in eine lokale oder GMT -Zeit umwandeln und in der Ganzzahlstruktur speichern, tm.

Jede ganze Zahl in dieser Struktur repräsentiert Sekunden, Minuten, Stunden, Tage usw. Später geben wir eine detailliertere Beschreibung der in dieser Struktur enthaltenen Variablen und wie Sie auf jeden von ihnen zugreifen können.

Die Daten der TM -Struktur können die lokale Zeit sein, in der Sie mit Ortszeit() oder die GMT -Zeit mit gmime ().

Beide Funktionen haben die Unix -Zeit mit U_time als Eingabeargument und geben Sie den Zeiger zurück tm_ptr von tm, was wir vorher wie im Folgenden definieren müssen:

#enthalten
#enthalten
void main ()


struktur tm *tm_ptr; // TM_PTR als Zeiger auf TM definieren

Es ist wichtig zu beachten, dass sowohl die Unix -Zeit in U_time und die TM -Daten werden jedes Mal aktualisiert, wenn eine der Funktionen, die diese Daten abrufen. Andernfalls bleiben die Daten aus dem letzten Anruf in ihren Variablen gespeichert.

Im folgenden Code -Snippet sehen wir, wie die lokalen Zeitdaten in der TM -Struktur mithilfe der Funktion LocalTime () abgerufen werden können. Wenn Sie diese Funktion nennen, müssen Sie die Zeit von UNIX als Eingabemargument und den Zeiger auf TM als Ausgabeargument übergeben.

tm_ptr = localtime (& u_time);

Auf diese Weise haben wir die Zeit bereits von Unix in die lokale Zeit umgewandelt und sie in der TM -Struktur gespeichert. Wir müssen diese Daten nur in eine Zeichenfolge mit konvertieren Asctime ().

Im folgenden Snippet sehen wir den Code, um die Zeit von UNIX zu erhalten. Berechnen Sie diese Daten und speichern Sie sie in TM -Struktur. Dann verwenden wir asctime (), um die Ganzzahlen der Struktur zu konvertieren, auf die durch *tm_ptr Saiten.

Diese Funktion gibt den String zurück, auf den durch *str_ptr in seinem Ausgangsargument.

Schließlich geben wir die erhaltene Zeichenfolge mit printf () an die Befehlskonsole aus.

#enthalten
#enthalten
void main ()

TIME_TU_TIME; // u_time als Ausgabe der Zeit definieren () ()
const char*str_ptr; // Definieren Sie den Zeiger der Zeichenfolge
struktur tm *tm_ptr; // TM_PTR als Zeiger auf TM definieren
U_time = time (null); // Wir bekommen die UTC -Zeit in u_time
tm_ptr = localtime (& u_time); // Wir bekommen die Ortszeit in TM
str_ptr = asctime (tm_ptr); // TM in String konvertieren
printf ("lokale Zeit ist: %s \ n", str_ptr);

Das folgende Bild zeigt das Ergebnis dieses Codes:

Der TM -Struktur

Der tm Struktur und die time_t Und clock_t Variablen sind vordefinierte Strukturen und Datentypen in der „Zeit.H ”-Header und werden verwendet, um die Ergebnisse zu speichern, die von einigen der definierten Funktionen dort zurückgegeben werden.

Schauen wir uns nun die Struktur der TM -Ganzzahl und die Namen der einzelnen Variablen an, die es ausmachen:

structTM
INTTM_SEC; // Sekunden (0-61)
INTTM_MIN; // Minuten (0-59)
INTTM_HOUR; // Stunden (0-23)
inttm_mday; // Tag (1-31)
INTTM_MON; // Monat (0-11)
INTTM_YEAR; // Jahre seit 1970
inttm_wday; // Wochentag (0-6; Sonntag = 0)
inttm_yday; // Tag des Jahres (0-365)
inttm_isdst; // Sommerzeit 1 = Ja; 0 = nein; -1 = undefiniert
;

Abschluss

In diesem Linux -Hinweis Artikel, wir haben erklärt, wie man die Unix -Systemzeit erhält und sie in eine Kalenderzeichenfolge mit konvertiert Asctime () Schritt für Schritt. Wir haben auch kurz die zusätzlichen Funktionen erläutert, die erforderlich sind, um diese Daten zu verarbeiten und abzurufen, sowie die Umgang mit den TM- und Zeitdaten. Wir hoffen, dass Sie diesen Artikel nützlich gefunden haben. Für mehr Linux -Hinweis Artikel über die C -Sprache verwenden die Suchmaschine auf unserer Website.