ich möchte aus einem Dokument Daten herauslesen. Dort sind Datumsangaben durch Zahlenwerte dargestellt. Falls ich es richtig erschlossen habe, erscheinen z. B.
03.08.2017 als 1501757740,
02.08.2017 als 1501657200
Kennt zufälig jemand die zugrundeliegende Funktion und weiß, wie ich aus dem jeweiligen Zahlenwert das dazugehörige Datum ermitteln kann?
Yeah, das isses! Ich muss nur noch drei Nullen dranhängen, dann erbringt die Umrechnung das gewünschte Datum.
Das ging ja superschnell! - Herzlichen Dank für deinen Tip!!
Also ich denk schon, dass das der Unix-Zeitstempel ist, halt in Sekunden angegeben. Ist das so unüblich, den so zu speichern?
Die kürzeste Form, wäre dann wohl so etwas in der Art: System.out.println(Date.from(Instant.ofEpochSecond(1501780021)));
Klasse, habe gerade versucht, mir den Code zu ertüfteln, und schon kriege ich ihn geliefert! Vielen Dank.
Jetzt brauche ich nur noch die Konvertierung in umgekehrter Richtung. Das schaffe ich bestimmt - es sei denn, jemand kann die Syntax gerade aus dem Ärmel schütteln und kommt mir zuvor
Hast du den Artikel überhaupt gelesen? Da stehen die ganzen Probleme mit dem (übrigens uralten) java.util.Date und der Notlösung Calendar aufgelistet (die selbst von Oracle und vorher Sun zugegeben wurden). Die neue Date-and-Time API hat eine saubere Trennung von Anwendungsfällen (z.B. Datum mit und ohne Uhrzeit, mit und ohne Zeitzone), und ist wesentlich einfacher und sicherer zu bedienen, vor allem, wenn man Berechnungen vornehmen möchte.
Da findest du einen hilfreichen und gut geschriebenen Artikel, und interpretierst ihn völlig falsch…
Wenigstens nicht der einzigste der antwortet.
Also ich bitte dich…
Calendar hat einige zweifelhafte Implementierungen, etwa boolean Calendar.after(Object o) und after(Object o), die auf „vorher?“ und „nachher?“ prüfen. Übergibt man ein Objekt, das nicht vom Typ Calendar ist, kommt als Ergebnis immer „false“ zurück. Eine IllegalArgumentException wäre wohl naheliegender gewesen – und noch besser sollte die API den Typ des Parameters als Calendar schlicht erzwingen. (Vermutlich wollte man ermöglichen, dass Unterklassen auch ein Date oder eine andere Datumsrepräsentation verarbeiten können, aber das ist so nicht gelungen.)
Das ist doch ein Contra neue API.
Und nochmal, ich wollte keinen in keinster Weise „beleidigen“. (Also ich wollte @BinaryLogic nicht beleidigen und die Autoren des Artikels auch nicht)
Calendar ist nicht Teil der neuen API, es war ein früher (JDK 1.1) und nur mäßig erfolgreicher Versuch, die Probleme mit Date in den Griff zu bekommen. Lies doch bitte einfach mal den Artikel, den du gepostet hast. Am besten bevor du hier den hoffnungsvollen Nachwuchs permanent verdirbst