390 Stimmen

Java Datum vs. Kalender

Könnte bitte jemand die derzeitige "beste Praxis" in Bezug auf Date y Calendar Typen.

Ist es am besten, beim Schreiben von neuem Code immer die Calendar über Date oder gibt es Umstände, unter denen Date der geeignetere Datentyp ist?

1voto

user2835562 Punkte 11

Das Datum sollte neu entwickelt werden. Anstatt ein langer Interger zu sein, sollte es Jahr, Monat, Datum, Stunde, Minute, Sekunde als separate Felder enthalten. Es könnte sogar gut sein, den Kalender und die Zeitzone zu speichern, mit der dieses Datum verbunden ist.

Wenn wir in unserer natürlichen Konversation einen Termin für den 1. November 2013, 13:00 Uhr New Yorker Zeit festlegen, ist dies ein DateTime. Es handelt sich NICHT um einen Kalender. Wir sollten also in der Lage sein, uns auch in Java so zu unterhalten.

Wenn Datum als lange Ganzzahl (in Millisekunden seit dem 1. Januar 1970 oder so) gespeichert wird, hängt die Berechnung des aktuellen Datums vom Kalender ab. Verschiedene Kalender geben unterschiedliche Daten an. Dies ist aus der Perspektive der Angabe einer absoluten Zeit (z. B. 1 Billion Sekunden nach dem Urknall). Aber oft brauchen wir auch eine bequeme Art der Konversation, wie ein Objekt, das Jahr, Monat usw. kapselt.

Ich frage mich, ob es neue Fortschritte in Java gibt, um diese beiden Ziele miteinander zu vereinbaren. Vielleicht ist mein Java-Wissen zu alt.

0voto

xxxvodnikxxx Punkte 1240

Btw "Datum" ist in der Regel als "veraltet / veraltet" gekennzeichnet (ich weiß nicht genau, warum) - etwas über sie ist dort geschrieben Java: Warum ist der Date-Konstruktor veraltet, und was kann ich stattdessen verwenden?

Es sieht so aus, als ob es ein Problem mit dem Konstruktor ist - nur über new Date(int Jahr, int Monat, int Tag) Empfohlen wird der Weg über den Kalender und das separate Setzen von Parametern ( Kalender cal = Calendar.getInstance(); )

0voto

Brian Nelson Punkte 39

Ich benutze Calendar, wenn ich einige spezifische Operationen mit den Daten benötige, wie z.B. das Verschieben in der Zeit, aber Date finde ich hilfreich, wenn man das Datum formatieren muss, um es an die eigenen Bedürfnisse anzupassen, und vor kurzem habe ich entdeckt, dass Locale eine Menge nützlicher Operationen und Methoden hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X