Zum Hauptinhalt springen

Time-Arbeit in der Programmiersprache C

C-Programmiersprache es hat sich seit langem als leistungsfähiges und effizientes Werkzeug für die Anwendungsentwicklung etabliert. Es ist in vielen Bereichen der Informationstechnologie längst zum Standard geworden. Ein wichtiger Aspekt bei der Arbeit mit C-Programmen ist die Zeit- und Datumsverwaltung. Zu diesem Zweck bietet die C eine spezielle Bibliothek time, die eine breite Palette von Funktionen und Datenstrukturen für den Umgang mit der Zeit bietet.

Eine der Hauptfunktionen der Bibliothek time ist funktion time() gibt die Anzahl der Sekunden zurück, die seit Mitternacht am 1. Januar 1970 GMT verstrichen sind (die sogenannte "UNIX-Ära"). Mit diesem Wert können Sie ganz einfach das aktuelle Datum und die aktuelle Uhrzeit abrufen.

Datums- und Uhrzeitoperationen sind auch durch Datenstrukturen wie struct tm, die das Datum und die Uhrzeit auf eine Sekunde genau darstellt. Mit dieser Struktur können Sie einzelne Werte wie Jahr, Monat, Tag, Stunde, Minute und Sekunde abrufen und verschiedene Datumsoperationen durchführen, z. B. zwei Daten vergleichen oder dem aktuellen Datum eine bestimmte Anzahl von Sekunden hinzufügen.

Die grundlegenden Konzepte von time in der C-Programmiersprache

In der Sprache C wird die Zeit als numerische Werte dargestellt, die normalerweise in Sekunden seit Beginn der Epoche gemessen werden, die normalerweise am 1. Januar 1970 ist. Zum Arbeiten mit temporären Werten werden die in der Headerdatei definierten Funktionen und Datenstrukturen verwendet time.h.

Eine der am häufigsten verwendeten Datenstrukturen ist tm-Struktur, die Informationen zu verschiedenen Zeitkomponenten wie Jahr, Monat, Tag, Stunde, Minute, Sekunde enthält. Um die Werte von Zeitkomponenten aus einer tm-Struktur abzurufen, können Sie Funktionen wie tm_year, tm_mon, tm_mday und andere.

Die C-Sprache bietet auch die Möglichkeit, mit relativen Zeitwerten wie der aktuellen Uhrzeit oder der seit Programmbeginn verstrichenen Zeit zu arbeiten. Dazu können Sie Funktionen wie time, clock und andere. Funktion time gibt die aktuelle Zeit in Sekunden seit dem 1. Januar 1970 zurück, und die Funktion clock gibt die Anzahl der CPU-Takte zurück, die seit dem Start des Programms verstrichen sind.

Die Arbeit mit der Zeit in der C-Programmiersprache bietet dem Entwickler daher die Möglichkeit, Zeitwerte effizient zu verarbeiten und verschiedene Operationen mit ihnen durchzuführen.

Verwenden der Time-Funktion in Si

Time-Funktion in der Programmiersprache wird C verwendet, um die aktuelle Zeit im Format der Anzahl der Sekunden ab Mitternacht am 1. Januar 1970 (auch bekannt als "UNIX-Ära") abzurufen.

Um die time-Funktion verwenden zu können, muss eine Headerdatei angehängt werden time.h. Die Syntax der Funktion lautet wie folgt:

time_t time(time_t *tloc);

Die Funktion akzeptiert einen Zeiger auf eine Typvariable time_t (dies ist normalerweise ein Nullzeiger, wenn Sie die aktuelle Zeit abrufen möchten) und gibt einen Wert vom Typ zurück time_t enthält die Anzahl der verstrichenen Sekunden.

Beispiel für die Verwendung einer Funktion:

Abrufen des aktuellen Datums und der Uhrzeit in Si

Bei der Programmierung ist es oft erforderlich, mit Daten und Zeiten zu arbeiten. Die C-Programmiersprache verwendet die time-Struktur und die mit dieser Struktur verknüpften Funktionen, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen.

Sie müssen zuerst die time-Headerdatei einbinden.h , das die Definition der time-Struktur und der Funktion enthält, um damit zu arbeiten:

#include

Nachdem Sie die Headerdatei angeschlossen haben, können Sie die time-Funktion verwenden, um die aktuelle Uhrzeit abzurufen. Die Funktion time gibt die aktuelle Zeit als Anzahl der Sekunden zurück, die seit dem 1. Januar 1970 verstrichen sind. Zum Beispiel:

time_t currentTime = time(NULL);

Die currentTime-Variable enthält jetzt die aktuelle Uhrzeit.

Sie können die ctime-Funktion verwenden, um die aktuelle Uhrzeit in ein Zeichenfolgenformat zu konvertieren :

char* timeString = ctime(¤tTime);

Die ctime-Funktion konvertiert die durch das Argument angegebene Zeit in eine Zeichenfolge, die das Datum und die Uhrzeit im Format "Tag Monat Jahr Stunde:Minute:Sekunde" enthält. Das Ergebnis der Funktion ist ein Zeiger auf die Zeichenkette timeString , die angezeigt oder in späteren Operationen verwendet werden kann.

Auf diese Weise können Sie das aktuelle Datum und die aktuelle Uhrzeit mithilfe der time-Struktur und der zugehörigen Funktionen in der C-Programmiersprache abrufen und verschiedene Operationen mit ihnen durchführen.

Arbeiten mit timestamp in Si

Ein Timestamp stellt die Anzahl der Sekunden dar, die seit Beginn einer Epoche vergangen sind (normalerweise am 1. Januar 1970). Es wird verwendet, um Datum und Uhrzeit aufzuzeichnen und zu speichern sowie den Unterschied zwischen zwei Zeitpunkten zu berechnen.

Sie können Funktionen aus der Bibliothek verwenden, um mit Timestamp in C zu arbeiten time.h. Eine der Hauptfunktionen dieser Bibliothek - time(), die die aktuelle Uhrzeit als timestamp zurückgibt.

Beispiel für die Verwendung der Funktion time()

#include int main()

Eine weitere nützliche Funktion - localtime(), die es ermöglicht, eine tm-Struktur mit analysierten Datums- und Uhrzeitwerten aus einem timestamp zu erhalten.

Beispiel für die Verwendung der Funktion localtime()

#include int main() tm_mday, localTime->tm_mon + 1, localTime->tm_year + 1900,localTime->tm_hour, localTime->tm_min, localTime->tm_sec);return 0;>

Es gibt auch andere Funktionen, mit denen Sie mit Datum und Uhrzeit in Si arbeiten können, z. B. mktime(), strftime() und andere. Mit diesen Funktionen können Sie verschiedene Timestamp-Operationen ausführen, z. B. in eine Zeichenfolge konvertieren, die Werte einzelner Komponenten (Stunden, Minuten, Tag des Monats usw.) abrufen und arithmetische Operationen mit Datum und Uhrzeit durchführen.

Die Arbeit mit Timestamp in der C-Sprache ist ein wichtiges und nützliches Thema, das Ihnen bei der Lösung von Datums- und Uhrzeitaufgaben in Ihren Softwareprojekten hilft.

Konvertieren von Datum und Uhrzeit in eine Zeichenfolge in Si

Die Funktion strftime hat den folgenden Prototyp:

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);
  • str ist ein Zeiger auf ein Zeichenarray, in das eine Zeichenfolge mit Datum und Uhrzeit geschrieben werden soll.
  • maxsize – Die maximale Anzahl von Zeichen, die in ein str-Array geschrieben werden können.
  • format - Ein Zeiger auf die Zeichenfolge mit dem Format, nach dem die Konvertierung durchgeführt werden soll.
  • timeptr ist ein Zeiger auf eine tm-Struktur, die Informationen zu Datum und Uhrzeit enthält.

Die tm-Struktur umfasst die folgenden Felder:

  • tm_sec - Sekunden (0-59)
  • tm_min - Minuten (0-59)
  • tm_hour - Uhr (0-23)
  • tm_mday - Tag des Monats (1-31)
  • tm_mon - Monat (0-11)
  • tm_year – das Jahr seit 1900
  • tm_wday – Wochentag (0-6 ab Sonntag)
  • tm_yday – Tag des Jahres (0-365)
  • tm_isdst - Zeitzonenkorrektur-Flag (ein negativer Wert gibt einen unbekannten Wert an)

Die Formate, die beim Konvertieren von Datum und Uhrzeit verwendet werden können, werden durch Sonderzeichen definiert, die mit dem Zeichen '%' beginnen. Zum Beispiel wird das Zeichen '%Y' durch ein Jahr ersetzt, das im vierstelligen Format geschrieben wurde.

Im Folgenden sind einige der am häufigsten verwendeten Formate aufgeführt:

  • %a ist die Abkürzung für Wochentag (z. B. "Mon")
  • %A ist der vollständige Name des Wochentags (z. B. "Monday")
  • %b ist die Abkürzung für Monat (z. B. "Jan")
  • %B ist der vollständige Name des Monats (z. B. "January")
  • %c ist eine vollständige Darstellung von Datum und Uhrzeit (z. B. "Mon Jan 01 00:00:00 2000")
  • %d ist der Tag des Monats (01-31)
  • %H - Stunden (00-23)
  • %I – Uhr im 12-Stunden-Format (01-12)
  • %j – Tag des Jahres (001-366)
  • %m – Monat (01-12)
  • %M - Minuten (00-59)
  • %p - AM oder PM
  • %S - Sekunden (00-59)
  • %U ist die Wochennummer des Jahres (01-53, wobei der erste Tag der Woche Sonntag ist)
  • %w ist die Nummer des Wochentags (0-6, wobei Sonntag 0 ist)
  • %W ist die Wochennummer des Jahres (01-53, wobei der erste Tag der Woche Montag ist)
  • %x ist eine Datumsdarstellung (z. B. "01/01/00")
  • %X ist eine Zeitdarstellung (z. B. "00:00:00")
  • %y - Jahr (00-99)
  • %Y – Jahr (z. B. "2000")
  • %z ist der Offset der Zeitzone in Bezug auf UTC (z. B. "+0000")
  • %Z ist der Name der Zeitzone (z. B. "UTC")
  • %% ist das Zeichen '%'

Hier ist ein Beispiel für die Verwendung der Funktion strftime , die das aktuelle Datum und die aktuelle Uhrzeit in eine Formatzeichenfolge im Format "Weekday, Month Day, Year, HH:MM:SS" konvertiert:

#include #include int main()

Nach dem Ausführen dieses Codes wird die aktuelle Uhrzeit im angegebenen Format angezeigt, z. B. "Monday, January 01, 2000, 00:00:00".