So erhalten Sie die aktuelle Zeit mit der Funktion time(NULL) und localtime() in Linux

So erhalten Sie die aktuelle Zeit mit der Funktion time(NULL) und localtime() in Linux

Zeit(); Funktion

Funktionsprototyp: time_t time(time_t *timer)
Funktionszweck: Kalenderzeit der Maschine abrufen oder Kalenderzeit einstellen Header-Datei: time.h
Eingabeparameter: Wenn Timer = NULL, wird die Kalenderzeit der Maschine abgerufen; wenn Zeit = Zeitwert, wird sie zum Einstellen der Kalenderzeit verwendet;
time_t ist ein langer Typ

/* Zeit - Aktuelle Kalenderzeit des Computersystems abrufen
 * Funktionen die Datum und Uhrzeit verarbeiten werden auf Basis des Rückgabewertes dieser Funktion berechnet*
 * Funktionsprototyp:
 * #include <zeit.h>
 * 
 * Zeit_t Zeit(Zeit_t *calptr);
 *
 * Rückgabewert:
 * Erfolg: Anzahl der Sekunden seit 1970-1-1, 00:00:00
 *
 * verwenden:
 * time_t jetzt;
 * 
 * Zeit(&jetzt); // == jetzt = Zeit(NULL);
 */

Ortszeit(); Funktion

Funktionsprototyp: struct tm *localtime(const time_t *timer)
Funktionszweck: Gibt Maschinenzeitinformationen zurück, ausgedrückt in einer tm-Struktur. Header-Datei: time.h
Eingabeparameter: Timer: Maschinenzeit, die mit der Funktion time() ermittelt wurde;

/*
 * localtime - konvertiert einen Zeitwert in die Ortszeit und berücksichtigt dabei die lokale Zeitzone und Sommerzeit-Flags*
 * Funktionsdeklaration:
 * #include <zeit.h>
 *
 * Struktur tm * Ortszeit(const time_t *Timer);
 *
 */
//Die Definition der Struktur tm lautet: 
 Struktur tm 
 { 
   int tm_sec; /* Sekunden: 0-59 (K&R sagt 0-61?) */ 
   int tm_min; /* Minuten: 0-59 */ 
   int tm_hour; /* Stunden seit Mitternacht: 0-23 */ 
   int tm_mday; /* Tag des Monats: 1-31 */ 
   int tm_mon; /* Monate *seit* Januar: 0-11 */ 
   int tm_year; /* Jahre seit 1900 */ 
   int tm_wday; /* Tage seit Sonntag (0-6) */ 
   int tm_yday; /* Tage seit 1. Januar: 0-365 */ 
   int tm_isdst; /* +1 Sommerzeit, 0 Keine Sommerzeit, 
    * -1 weiß nicht */ 
 };

Da time_t eigentlich eine lange Ganzzahl ist, was sollen wir tun, wenn die Anzahl der Sekunden von einem Zeitpunkt (normalerweise 00:00:00 am 1. Januar 1970) bis zu dieser Zeit (d. h. Kalenderzeit) den Zahlenbereich überschreitet, der durch eine lange Ganzzahl dargestellt werden kann? Für den Wert des Datentyps time_t gilt, dass die dargestellte Zeit nicht nach dem 18. Januar 2038, 19:14:07 Uhr liegen kann. Um längere Zeiträume darstellen zu können, führten einige Compilerhersteller 64-Bit- oder sogar noch längere Ganzzahlen ein, um Kalenderzeit zu sparen. Beispielsweise verwendet Microsoft den Datentyp __time64_t, um die Kalenderzeit in Visual C++ zu speichern, und erhält die Kalenderzeit über die Funktion _time64() (anstatt die 32-Bit-Wortfunktion time() zu verwenden). Auf diese Weise kann der Datentyp verwendet werden, um die Zeit vor 00:00:00 am 1. Januar 3001 (ausgenommen diesen Zeitpunkt) zu speichern.

/*
* Zeit();
* @Autor Name<[email protected]>
*/

#include <zeit.h> 
#include <stdio.h> 

int main(int argc, char* argv[])
{ 
  Struktur tm *tp; 
  Zeit_t t = Zeit(NULL); 
  tp = Ortszeit(&t);

  printf("%d/%d/%d\n",tp->tm_mon+1,tp->tm_mday,tp->tm_year+1900); 
  printf("%d:%d:%d\n",tp->tm_Stunde,tp->tm_Min,tp->tm_Sek); 

  gebe 0 zurück;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispielerklärung der Alarmfunktion in Linux
  • PHP führt 6 Linux-Befehlsfunktionscodebeispiele aus
  • Detaillierte Erklärung zur Verwendung der Stat-Funktion und des Stat-Befehls in Linux
  • So fügen Sie einer Python-Funktion unter Linux/Mac ein Timeout hinzu
  • Linux-Unlink-Funktion und wie man Dateien löscht
  • Detaillierte Erklärung zur Verwendung der Linux-lseek-Funktion
  • Eine kurze Analyse des Funktionsaufrufprozesses unter der ARM-Architektur

<<:  Erläuterung der Lösung zur mobilen H5-Bildgenerierung in JavaScript

>>:  Lösung für FEHLER 1054 (42S22) beim Ändern des Passworts in MySQL 5.7

Artikel empfehlen

Einfaches Teilen von Mysql-Backup-BAT-Skripten unter Windows

Vorwort Dieser Artikel stellt ein einfaches BAT-S...

Warum MySQL die Verwendung von Unterabfragen und Verknüpfungen nicht empfiehlt

So führen Sie eine paginierte Abfrage durch: 1. F...

Detailliertes Tutorial zur Installation von mysql5.7.18 auf centos7.3

1 Überprüfen Sie die Linux-Distributionsversion [...

Einfaches MySQL-Beispiel zum Sortieren chinesischer Schriftzeichen nach Pinyin

Wenn das Feld, in dem der Name gespeichert ist, d...

Uniapps Erfahrung in der Entwicklung kleiner Programme

1. Erstellen Sie ein neues UI-Projekt Zunächst ei...

Designtheorie: Zu den Themen Schema, Ressourcen und Kommunikation

<br />In vielen kleinen Unternehmen besteht ...

JavaScript-Entwurfsmuster, Lernadaptermuster

Inhaltsverzeichnis Überblick Code-Implementierung...

Einführung in die Verwendung gängiger Dockerfile-Befehle

Inhaltsverzeichnis 01 CMD 02 EINSTIEGSPUNKT 03 AR...

Detaillierte Erklärung der Speicher-Engine in MySQL

Übersicht über die MySQL-Speicher-Engine Was ist ...

RHCE installiert Apache und greift mit einem Browser auf IP zu

1. at ist so konfiguriert, dass nach 5 Stunden „D...

So fügen Sie Emoji-Ausdrücke in MySQL ein

Vorwort Als ich heute ein Feedback-Formular für e...

Docker legt Port 2375 frei, was zu Serverangriffen und -lösungen führt

Ich glaube, dass Studenten, die etwas über die Do...