Erstellen Sie ein Datum UTC mit einem timezone-basierten timestamp

Sonderbare Frage, aber Sie müssen zuerst wissen, dass die Facebook-API werden alle Daten mit einem Zeitstempel (long = Anzahl der zweiten) gestartet 01/01/1970 00:00:00, die sich auf PDT-Zeitzone (Pacifica Zeit).
Diese Anzahl der zweiten nicht einen UTC-timestamp-aber ein fake, basierend auf einem nicht-standard-Speicherort.

Gibt es eine einfache Möglichkeit in java zu konvertieren, das lange timestamp in ein normales Datum-Objekt, das ich gebrauchen könnte (und drucken im französischen format mit standard-Datum formaters) ?

PS : Es ist nicht nur eine +7 Stunden Frage, die Sommerzeit in dieser Zeitangabe. Darüber hinaus haben wir auch die Sommerzeit in Frankreich, aber nicht die selben...

Dank

UPDATE :
Es ist mehr kompliziert, dass nur à fixed-delta.
Ich denke, dass Facebook Datensätze das Datum gebe ich als PSD-Datum. Wenn ich record Donnerstag 26/10/2011 16.00 UHR (Paris Zeitzone), Facebook Einträge 26/10/2011 16.00 UHR (San Francisco Zeitzone) und wandelt es in das entsprechende Anzahl von zweiten UTC seit 1970. Das problem ist, dass diese Konvertierung berücksichtigt die Zeitumstellung in San Francisco.
Ich habe die folgenden benchmark zu demonstrieren :

  • (31/12/2011 16:00 - Frankreich-Zeit) FB Timestamp = 1325376000 statt 1325343600 (Timestamp UTC) -> Delta : -32400
  • (Am 31.07.2012 16:00 - Frankreich-Zeit) FB Timestamp = 1343775600 statt 1343743200 -> Delta : -32400
  • (Am 03.10.2012 16:00 - Frankreich-Zeit) FB Timestamp = 1349305200 statt 1349272800 -> Delta : -32400
  • (28/10/2012 08:00 - Frankreich-Zeit) FB Timestamp = 1351436400 statt 1351407600 -> Delta : -28800
  • (25/03/2012 08:00 - Frankreich-Zeit) FB Timestamp = 1332687600 statt 1332655200 -> Delta : -32400
  • (24/03/2012 23:30 - Frankreich-Zeit) FB Timestamp = 1332657000 statt 1332628200 -> Delta : -28800
  • (27/10/2012 23:30 - Frankreich-Zeit) FB Timestamp = 1351405800 statt 1351373400 -> Delta : -32400

In der Tat, ich brauche einen Weg, um zu konvertieren 31/10/2011 16.00 UHR (PDT) bis 31/10/2011 16.00 UHR (Pariser TZ)...

InformationsquelleAutor kheraud | 2011-12-01
Schreibe einen Kommentar