2017-12-25 17 views
-4

Nur neugierig. Ich neige dazu, Variablen des Typs struct tm so etwas wie time_bits oder ähnliches zu benennen, da sie die zerlegten Kalenderzeit-Bits enthält. Die meisten Dokumente, die ich gesehen habe, beziehen sich auf diesen Typ als "Kalenderzeit" im Gegensatz zu "Uhrzeit" oder "Epochensekunden" für time_t.Wofür steht das 'tm' in `struct tm`?

+1

Sie wollen sicherlich lesen [C Date Time Tutorial] (http://zetcode.com/articles/cdatetime/) –

+0

@ DavidC.Rankin Das war ein gutes Buch. Prägnant und informativ. Es hat jedoch die POSIX-Darstellung von UTC (die keine Schaltsekunden enthält - völlig falsch dargestellt - so dass es gut ist, die Zeit zu lesen, aber nicht, um lange Abschnitte davon zu messen). Die einzige gute Referenz, die ich dafür gefunden habe, ist [Olsens/die IANA-Zeitzonendatenbank] (https://github.com/eggert/tz/blob/04394af38a9d08fc6655466dfd8d4cf47025893d/time2posix.3#L26-L32) und die zugehörige 'libtz.a ' – Huckle

+0

Punkt gut, aber für ein vollständiges Verständnis von * Zeit * und * Kalender * [Kalender - Erläuternde Ergänzung zum astronomischen Almanach (uspno.navy.mil)] (http://aa.usno.navy.mil/publications /docs/c15_usb_online.pdf) ist ein guter Ausgangspunkt. Planetare Positionen erfordern von einem astronomischen Standpunkt aus die höchste Präzision fast aller Zeitanwendungen (außerhalb von relativistischen Effekten). –

Antwort

3

Wenn es wurde struct time, eine Menge Leute verwirren würde es mit dieser Funktion mit dem Namen:

time_t time(time_t *); 

Obwohl in C-Struktur-Tags für sie unterschiedliche Namen nicht mit variablen/Funktionsnamen stören, mit reduziert die Verwirrung.

3

Es steht fast sicher nur für "Zeit". Der ISO-Standard beschreibt es als eine Sache:

..., die die Komponenten einer Kalenderzeit enthält, die die zerlegte Zeit genannt wird.