namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:mktime

Dies ist eine alte Version des Dokuments!


mktime()

#include <ctime>

time_t mktime (struct tm *brokentime) 

Rechnet kalendarisch gegebene lokale Zeit in eine Systemzeit um.

Parameter

brokentime Zeiger auf eine struct tm-Struktur mit lokaler Zeit

Ergebnis

Rückgabewert: Systemzeit.

Die Codierung der Systemzeit ist durch den Sprachstandard ISO C 9899:1999 nicht festgelegt. Eine verbreitete Implementation ist der "UNIX-Zeitstempel" (Sekunden seit 01.01.1970 0:00:00 GMT).

Die Komponenten tm_wday und tm_yday werden zuerst ignoriert und dann neu gesetzt. Andere Komponenten werden beim Aufruf in ihren zulässigen Bereich normalisiert, so wird tm_mday erst dann endgültig festgelegt, wenn tm_year und tm_mon bestimmt sind.

Kann die Kalenderzeit nicht in eine Systemzeit umgewandelt werden, liefert die Funktion (time_t) -1.

Siehe auch

Beispiel

mktime.cpp
#include <ctime>
#include <iostream>
using namespace std;
 
int main()
{
  struct tm zeit;
  zeit.tm_sec  = 0;   // Sekunden nach voller Minute [0, 60]
  zeit.tm_min  = 0;   // Minuten nach voller Stunde [0, 59]
  zeit.tm_hour = 12;  // Stunden seit Mitternacht [0, 23]
  zeit.tm_mday = 24;  // Tag im Monat [1, 31]
  zeit.tm_mon  = 11;  // Monate seit Januar [0, 11]
  zeit.tm_year = 103; // Jahre seit 1900
  zeit.tm_isdst= -1;  // nicht bekannt, ob Sommerzeit
 
  time_t t = mktime(&zeit);
 
  if (t == (time_t)-1) zeit.tm_wday = 7;
 
  char* wochentag[] = { "Sonntag", Montag", "Dienstag", "Mittwoch",
                        "Donnerstag", "Freitag", "Samstag", "???" };
 
  cout << "Zeitstempel = "  << t << endl;
 
  cout << zeit.tm_mday      << ". "
       << zeit.tm_mon+1     << ". "
       << zeit.tm_year+1900 << " ist ein "
       << wochentag[zeit.tm_wday] << endl;
 
  return 0;
}
kennen/lib/mktime.1334157829.txt.gz · Zuletzt geändert: 2012-04-11 17:23 von 127.0.0.1