Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

localtime, localtime64 - Datum und aktuelle Uhrzeit als Struktur

&pagelevel(4)&pagelevel

Definition

#include <time.h>

struct tm *localtime(const time_t *sek_zg);
struct tm *localtime64(const time64_t *sek_zg);

localtime und localtime64 interpretieren die Zeitangabe, auf die sek_zg zeigt, als Anzahl der seit dem Stichtag (Epoche) vergangenen Sekunden. Die Funktionen berechnen daraus Datum und Uhrzeit und speichern das Ergebnis in einer Struktur vom Typ tm. Negative Werte werden als Sekunden vor dem Stichtag interpretiert. Das kleinste darstellbare Datum ist bei localtime der 13.12.1901 20:45:52 und bei localtime64 der 01.01.1900 00:00:00 lokale Zeit. Standardmäßig ist der Stichtag immer der 01.01.1970 00:00:00.

Das größte darstellbare Datum ist bei localtime der 19.01.2038 03:14:07 und bei localtime64 der 18.03.4317 02:44:48.

Returnwert

Zeiger auf die berechnete Struktur. localtime und localtime64 legen das Ergebnis in einer Struktur ab, die wie folgt in <time.h> deklariert ist:



struct tm
{
  int   tm_sec;        /* Sekunden (0-59) */
  int   tm_min;        /* Minuten (0-59) */
  int   tm_hour;       /* Stunden (0-23) */
  int   tm_mday;       /* Tag des Monats (1-31) */
  int   tm_mon;        /* Monate ab Jahresbeginn (0-11) */
  int   tm_year;       /* Jahre seit 1900 */
  int   tm_wday;       /* Wochentag (0-6, Sonntag=0) */
  int   tm_yday;       /* Tage seit dem 1. Januar (0-365) */
  int   tm_isdst;      /* Sommerzeitanzeige */
};


NULL

im Fehlerfall

Hinweise

Die Funktionen asctime, ctime, ctime64, gmtime, gmtime64, localtime und localtime64 schreiben ihre Ergebnisse in denselben C-internen Datenbereich, so dass der Aufruf einer dieser Funktionen das vorherige Ergebnis einer der anderen Funktionen überschreibt.

localtime und localtime64 bilden alle Daten vor dem 1.1.1900 01:00:00 auf den 1.1.1900 01:00:00 ab.

Beispiel

#include <time.h>
#include <stdio.h>
struct tm *t;
time_t clk;
char *s;
int main(void)
{
  clk = time((time_t *)0);
  t = localtime(&clk);
  printf("Jahr: %d\n", t->tm_year + 1900);
  printf("Uhrzeit in Stunden: %d\n", t->tm_hour);
  printf("Jahrestag: %d\n", t->tm_yday);
  s = asctime(t);
  printf("%s", s);
  return 0;
}

Siehe auch

asctime, ctime, ctime64, gmtime, gmtime64, time, time64