Muss ich konvertieren einen unix-timestamp in ein date-Objekt.
Ich versuchte dies:
java.util.Date time = new java.util.Date(timeStamp);
Timestamp-Wert: 1280512800
Sollte der Zeitpunkt sein,"2010/07/30 - 22:30:00" ( wie bekomme ich es von PHP), aber stattdessen bekomme ich Thu Jan 15 23:11:56 IRST 1970
.
Wie soll es getan werden?
InformationsquelleAutor der Frage RYN | 2010-07-30
Für
1280512800
multipliziert mit 1000, da java erwartet Millisekunden:Ist, wenn Sie bereits Millisekunden, dann nur
new java.util.Date((long)timeStamp);
Aus der Dokumentation:
InformationsquelleAutor der Antwort Pablo Santa Cruz
Dies ist der richtige Weg:
InformationsquelleAutor der Antwort Marco Fantasia
java.Zeit
Java 8 eingeführt, eine neue API für das arbeiten mit Daten und Zeiten: das java.Zeit-Paket.
Mit java.Zeit, die Sie verwenden können:
Einer Instant stellt einen timestamp in Java 8. Mit der statischen
Date.from()
Methode kann man einInstant
zu einemjava.util.Date
Instanz.InformationsquelleAutor der Antwort micha
Aussieht Kalender ist den neuen Weg zu gehen:
Die Letzte Zeile ist nur ein Beispiel, wie es zu benutzen, dafür müsste man drucken, z.B. "14.06.2012".
Wenn Sie verwendet haben, System.currentTimeMillis() zum speichern der Zeitstempel, die Sie nicht brauchen "*1000" Teil.
Wenn Sie den Zeitstempel in eine Zeichenfolge, die Sie brauchen, um zu analysieren, ist es zunächst als eine lange: Lang.parseLong(timestamp).
https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
InformationsquelleAutor der Antwort Stefan
tl;dr
java.Zeit
Dem neuen java.Zeit framework in Java 8 und höher ist der Nachfolger von Joda-Time.
Diese neuen Klassen enthalten eine handy factory-Methode, um zu konvertieren eine Anzahl von ganzen Sekunden aus der Epoche. Sie erhalten eine
Instant
einen moment auf der Zeitachse in UTC mit bis zu Nanosekunden-Auflösung.Sehen, dass code ausführen, live auf IdeOne.com.
Asia/Kabul
oderAsia/Tehran
Zeitzonen ?Ihnen berichtet, dass ein time-of-day-Wert von 22:30 anstatt 18:00 Uhr hier zu sehen. Ich vermute, Ihr PHP-Dienstprogramm ist implizit die Anwendung eines default-Zeitzone einstellen UTC. Mein Wert ist hier UTC, dargestellt durch die
Z
(kurz fürZulu
bedeutet UTC). Jede chance, Ihre Maschine OS oder PHP eingestellt istAsia/Kabul
oderAsien/Teheran
Zeitzonen? Ich nehme an, so wie Sie BerichtIRST
in Ihrer Ausgabe, die offenbar bedeutet, dass der Iran Zeit. Derzeit 2017 das sind die einzigen Zonen Betrieb mit Sommer-Zeit, die ist vier und eine halbe Stunde vor der UTC.Angeben die richtige Zeit zone name im format
continent/region
wieAmerika/Montreal
Africa/Casablanca
oderPacific/Auckland
. Verwenden Sie niemals die 3-4 Buchstaben-Abkürzung wieEST
oderIST
oderIRST
wie Sie sind nicht wahr, Zeitzonen, nicht standardisierten und nicht sogar einzigartig(!).Wenn Sie wollenum zu sehen, Ihr moment durch die Linse einer bestimmten region Zeit-zone, gelten ein
ZoneId
zu bekommenZonedDateTime
. Immer noch die gleichen zeitgleiche moment, sondern als eine andere Wand-Uhr-Zeit.Konvertierung von java.Zeit, um legacy-Klassen
Sollten Sie stick mit der neuen java.Zeit-Klassen. Aber Sie können konvertieren Sie zu alt werden, wenn erforderlich.
Joda-Time
UPDATE: Die Joda-Time Projekt ist jetzt in Wartungsmodusmit dem team beraten migration auf die java.Zeit Klassen.
FYI, ist der Konstruktor für eine Joda-Time DateTime ähnlich: Vervielfachen von tausend zu produzieren
long
(nichtint
!).Besten zu vermeiden, die notorisch lästig java.util.Datum und .Kalender-Klassen. Aber wenn Sie verwenden müssen ein Datum, können Sie konvertieren von Joda-Time.
Über java.Zeit
Den java.Zeit framework ist in Java 8 und höher. Diese Klassen verdrängen die lästige alte Vermächtnis Datum-Zeit-Klassen wie
java.util.Date
Calendar
&" = SimpleDateFormat
.Den Joda-Time Projekt, jetzt in Wartungsmodusrät der migration auf die java.Zeit Klassen.
Um mehr zu erfahren, siehe die Oracle Tutorial. Und die Suche Stack Overflow für viele Beispiele und Erklärungen. Spezifikation JSR 310.
Können Sie exchange java.Zeit Objekte direkt mit Ihrer Datenbank. Verwenden Sie eine JDBC-Treiber kompatibel mit JDBC 4.2 oder später. Keine Notwendigkeit für Streicher, keine Notwendigkeit für
java.sql.*
Klassen.Wo erhalten Sie die java.Zeit-Klassen?
Den ThreeTen-Extra Projekt erweitert die java.mal mit zusätzlicher Klassen. Dieses Projekt ist ein Testgelände für mögliche künftige Erweiterungen zu java.Zeit. Sie finden möglicherweise einige nützliche Klassen, die hier wie
Interval
YearWeek
YearQuarter
und mehr.InformationsquelleAutor der Antwort Basil Bourque
Date-Konstruktor erwartet die timeStamp-Wert in Millisekunden.
Multiplizieren Sie Ihre timestamp-Wert mit 1000, dann pass ist der Konstruktor.
InformationsquelleAutor der Antwort f1sh
Wenn Sie konvertieren ein timestamp-Wert auf einen anderen Computer übertragen, sollten Sie auch überprüfen Sie die Zeitzone aus, die Maschine. Zum Beispiel;
Den oben decriptions werden daher unterschiedliche Datumswerte, wenn Sie mit EST oder UTC-Zeitzonen.
Einstellen der Zeitzone; auch bekannt als UTC,
Sie können einfach umschreiben;
InformationsquelleAutor der Antwort tmr
InformationsquelleAutor der Antwort Masatsugu Hosoi