1. Index
  2. Shell
  3. C
  4. POSIX
  5. JavaScript

Datum & Zeit

Es koexistieren drei Darstellungsformen für Zeitpunkte:

tm
Kalenderzeit in Jahre, Monaten und Tagen unter Berücksichtigung der Zeitzone
time_t
Sekunden seit dem Beginn der Unix-Epoche am 1. Januar 1970 UTC
clock_t
Prozessor-Ticks seit Start des Prozesses

time.h

Darstellungen umrechnen

extern char * tzname[2] Zeitzone
extern long timezone
extern int daylight
void tzset (void) tzname aus $TZ
typedef time_t long int Sekunden
time_t time( time_t * t) 0
double difftime ( time_t t1, time_t t0) Differenz
struct tm
int tm_sec 0–59 Sekunde
int tm_min 0–59 Minute
int tmour 0–23 Stunde
int tm_mday 1–31 Tag des Monats
int tm_mon 0–11 Januar…Dezember
int tm_year 0–200 Jahre seit 1900
int tm_wday 0–6 Sonntag…Samstag
int tm_yday 0–365 Jahrestag
int tm_isdst 0–1 1=Sommerzeit
struct tm * localtime (const time_t * t) Mit Zeitzone
struct tm * localtime_r (const time_t * t, struct tm * result) Mit Zeitzone
struct tm * gmtime (const time_t * t) UTC
struct tm * gmtime_r (const time_t * t, struct tm * result) UTC
struct tm * getdate (const char * str) DATEMSK
struct tm * getdate_r (const char * str, struct tm * result)
time_t mktime(struct tm * tm) Normalisierung
size_t strftime ( char * str, size_t max,
const char * format, const struct tm * tm)
Schablone
char * strptime (const char * str,
const char * format, struct tm * tm)
Schablone
char * ctime (const time_t * t) RFC-822
char * ctime_r (const time_t * t, char * buf)
char * asctime (const struct tm * tm)
char * asctime_r (const struct tm * tm, char * buf)

Rechenzeit

#define CLOCKS_PER_SEC 1000000
typedef clock_t long int
clock_t clock (void)
struct timespec
time_t tv_sec
long int tv_nsec
int clock_getcpuclockid (pid_t pid, clockid_t * id)
int clock_getres (clockid_t id, struct timespec * tp)
int clock_gettime (clockid_t id, struct timespec * tp)
int clock_settime (clockid_t id, const struct timespec * tp)
int clock_nanosleep (clockid_t id, int flags,
const struct timespec * request,
struct timespec * remain)
int nanosleep ( const struct timespec * request,
struct timespec * remain)

Zeitgeber für Intervalle

typedef timer_t
int timer_create (clockid_t id, struct sigevent * event
timer_t * timer)
int timer_delete (timer_t timer)
int timer_getoverrun(timer_t timer)
struct itimerspec
struct timespec it_interval
struct timespec it_value
int timer_gettime (timer_t timer, struct itimerspec * current)
int timer_settime (timer_t timer, int flags,
const struct itimerspec * oldval,
struct itimerspec * newval)
%Y Jahr (4-stellig)
%m Monat (1…12)
%d Tag des Monats (1…31)
%H Stunde
%M Minute
%S Sekunde
CLOCK_REALTIME Echtzeituhr
CLOCK_MONOTONIC Unbeeinflussbarer Zähler
0 Relativ zum aktuellen Wert
TIMER_ABSTIME Absoluter Zielwert
struct sigevent
int sigev_notify Methode zur Benachrichtigung
int sigev_signo Signalnummer
union sigval sigev_value Zusätzliche Daten
void (* sigev_notify_function) (union sigval) Thread-Funktion
void * sigev_notify_attributes Attribute für Threads
pid_t sigev_notify_thread_id Threadnummer
union sigval
int sival_int Zahlenwert
void * sival_ptr Zeiger

sys/times.h

Rechenzeit messen

struct tms
clock_t tms_utime Eigene Prozesszeit
clock_t tms_stime Eigene Systemzeit
clock_t tms_cutime Prozesszeit beendeter Kindprozesse
clock_t tms_cstime Systemzeit beendeter Kindprozesse
clock_t times (struct tms * buf) Verbrauchte Rechenzeit ermitteln

sys/time.h

Zugriffszeiten einer Dateien lesen. Die Struktur wird verwendet in select, rusage und utmpx.

struct timeval
time_t tv_sec Sekunden
suseconds_t tv_usec Mikrosekunden
int utimes (const char * path,
const struct timeval times[2])
Änderungs- und
Zugriffszeit
struct timezone
int tz_minuteswest GMT-Versatz
int tz_dsttime Sommerzeit
int gettimeofday ( struct timeval * tv, Aktuelle Uhrzeit
struct timezone * tz) clock_gettime
struct itimerval
struct timeval it_interval Zeitspanne
struct timeval it_value Aktueller Wert
int setitimer (int type, Signal senden
const struct itimerval * new_value, timer_settime
struct itimerval * old_value)
int getitimer (int type, Zählerstand
struct itimerval * current) timer_gettime
ITIMER_REAL Dekrementiere in Echtzeit und löst SIGALRM aus.
ITIMER_VIRTUAL Dekrementiere in Prozesszeit und löst SIGVTALRM aus.
ITIMER_PROF Dekrementiert beides und löst SIGPROF aus.

utime.h

Zugriffszeit ermitteln. Obsolet.

struct utimbuf
time_t actime Zeitpunkt des letzten Zugriffs
time_t modtime Zeitpunkt der letzten Änderung
int utime (const char * path, Setzt Zeitstempel einer Datei
const struct utimbuf * buf) Obsolet, verwende utimes