ich möchte gerne die uhrzeit eingelesen bekommen!! welchen datentyp gibt es, denn ich bin mir fast sicher, dass es einen vordefinierten gibt !!! bitte um hilfe !! danke !!
Deine Tastatur ist kaputt 111!!!!!!elf Angenommen, Du möchtest in C programmieren, dann könntest Du mal nachsehen, ob bei Deinem Compiler eine Headerdatei namens "time.h" dabei ist. Und in die guckst Du mal rein. Solltest Du in C unter einem Microsoft-Betriebssystem programmieren, dann könntest Du auch die Win32-API-Funktion GetSystemTime bzw GetLocalSystemTime verwenden - beide füllen eine Struktur vom Typ SYSTEM_TIME (definiert in den tiefen von windows.h). Aber Deine Tastatur ist ja kaputt, da wird das etwas schwierig werden. !!!!!1111elf
Das kommt darauf an, unter welcher Entwicklungsumgebung Standard C benutzt time.h MFC z.B. die CTime Class http://msdn2.microsoft.com/en-us/library/8bs2t7ed.aspx
Es gibt zwei Philosophien bei Derstellung von Datum/Uhrzeit: (1) Konsequent in einer Grundeinheit, seien das nun Sekunden, Mikrosekundern oder was auch immer. Aus Unix abgeleitet sind hier Sekunden seit 1970 gängig, folglich in allen aktuellen Betriebssystemen oft anzutreffen. Vorteil: Platzbedarf, Vergleich einfach, Zeitzonenkorrektur einfach. Nachteil: Umwandlung in natürliche Darstellung ist ziemlich umständlich, vor allem wenn noch gelegentliche Schaltsekunden berücksichtigt werden sollen. (2) Getrennte Speicherung der einzelnen Komponenten. Beispiel DOS/FAT: Da wird die Zeit als 16bit Wert in 5:6:5 Bits dargestellt, was nur passt wenn man auf jede zweite Sekunde verzichtet. Vorteil: leicht natürlich darstellbar. Nachteil: rechnen kann man damit praktisch überhaupt nicht, schon eine Zeitzonenkorrektur ist umständlich.
Richtig geil ist die interne Zeitdarstellung von Windows NT (und neuer) im Datentyp FILETIME. Das ist ein 64-Bit-Wert, der die seit 1604 vergangenen 100-Nanosekundenintervalle zählt.
@Die meisten Elche Zitat MSDN (Platform SDK: Windows System Information): "The FILETIME structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC)." Tatsächlich beginnt bei WinNT-basierten Systemen die FILETIME bereits 1601! ;-) Nicht, daß es wirklich wichtig wäre...
Wichtig ist es nicht, aber interessant. Übrigens ist das keine Erfindung von Microsoft (ausser vielleicht die Idee, 100ns Intervalle zu verwenden). http://www.decimaltime.hynes.net/dates.html#ansi "ANSI dates are counted from 1601-01-01 and were adopted by the American National Standards Institute for use with COBOL and other computer languages. This epoch is the beginning of the last 400-year cycle by which leap-years are calculated in the Gregorian calendar. The last year of this cycle is the only one divisible by 100 that is a leap-year, which was the year 2000, and which was followed by a new 400-year cycle beginning with 2001. 32-bit versions of the Microsoft Windows operating system count units of one hundred nanoseconds from this epoch."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.