Konvertierung Integer -> Datum

Hallo Forum,

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?

Moin,

ich würde mal vermuten, diass dies sowas ist: http://currentmillis.com/

VG Klaus

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!! :slight_smile:

Hi,

scheint falsch, zumindes fehlen dir vier Nullen, dann waeren das Millisekunden seit dem 01.01.1970

Hier etwas zum lesen:

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)));

Output wäre dann: Thu Aug 03 12:55:40 CEST 2017

Klasse, habe gerade versucht, mir den Code zu ertüfteln, und schon kriege ich ihn geliefert! Vielen Dank. :slight_smile:
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 :wink:

  1. Auf das neumodische Date würd ich nicht setzen, hier sind einige Punkte aufgeführt , https://www.heise.de/developer/artikel/Die-neue-Date-Time-API-in-Java-8-2198399.html , weshalb man lieber bei jahrelang bestehenden Sachen bleiben sollte.
  2. Zu 1.: Das ist nur meine Meinung.
  3. Ein * 1000 bringt einen nicht um.
  4. Eine (Klassen-)Methode schreiben, von Sekunden nach Date, und eine (Klassen-)Methode, von Date nach String.
  5. Singleton verwenden.
  6. Ich werd es nicht vormachen, aber Beispiele findet man viele , https://stackoverflow.com/questions/26637168/how-to-convert-a-date-to-milliseconds .

Super. Vielen Dank! :slight_smile:

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…

1 „Gefällt mir“

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. :wink:

Und nochmal, ich wollte keinen in keinster Weise „beleidigen“. :slight_smile: (Also ich wollte @BinaryLogic nicht beleidigen und die Autoren des Artikels auch nicht)

Auch die Kritik an Calendar bezieht sich nicht auf die neue Date/Time-API, der Artikel hat mehrere Seiten :wink:

Trotzdem danke für den Artikel, bringt Laune, da mal ein bisschen rumzuprobieren.

Ansonsen @HerrKaiser:
Denke den Rest schaffst du schon, vor allem, wenn du dir vllt. den Artikel auch mal komplett anguckst. :smiley:

PS @CyborgBeta: Ich hab nix an deiner Nachricht in irgendeiner Weise als „Beleidigung“ aufgefasst, wüsste auch ehrlich gesagt nicht wie.

1 „Gefällt mir“

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 :stuck_out_tongue:

1 „Gefällt mir“

Ja hattest recht, ich lese manchmal von unten nach oben… Aber gelob(ig)e Besserung. :wink: