Mein Programm empfängt Zeitstempel in UTC, z. Tue, 31 May 2016 11:43:47 UTC
. Wie wandle ich sie in einen Zeitstempel in der aktuellen Zeitzone der Sitzung um?Konvertieren eines Datums/einer Uhrzeit von UTC in Sitzungszeitzone
Antwort
zuerst die Zeichenfolge in einen Zeitstempel mit Zeitzone konvertieren (verwenden Sie die korrekte Funktion). Verwenden Sie die Klausel "AT LOCAL", um das Ergebnis in Ihrer lokalen (Sitzungs-) Zeitzone anzuzeigen.
select to_timestamp_tz('Tue, 31 May 2016 19:43:47 UTC',
'Dy, dd Mon yyyy hh24:mi:ss tzr') at local from dual;
Ergebnis (mit meiner Front-End-Einstellungen für die mit Zeitzone Zeitstempel Anzeige - bei Ihnen können unterschiedlich sein):
31-MAY-16 02.43.47.000000000 PM AMERICA/CHICAGO
Verwenden Sie die tz_offset
Funktion, um die Zeitzone für die session's timezone, dann verwenden Sie die from_tz
Funktion konvertiert den String in eine timestamp with time zone
versetzt zu bekommen, und verwenden at time zone
es ändern die Sitzung des Zeitzone zu verwenden.
select from_tz(to_timestamp('Tue, 31 May 2016 11:43:47 UTC'
,'Dy, dd Mon yyyy hh24:mi:ss "UTC"')
, 'UTC')
at time zone tz_offset(sessiontimezone)
,sessiontimezone
from dual;
31/05/2016 19:43:47.000000000 +08:00 Australia/Perth
Warum so kompliziert? Außerdem ist das harte Codieren von "UTC" im Formatmodell eine schreckliche Übung (ich bin überrascht, wenn man Ihren Ruf bedenkt) - wie wird das funktionieren, wenn die Eingabe aus einer anderen Zeitzonenregion stammt? Der Downvote ist für diese schlechte Kodierungspraxis, nicht für die komplizierte Lösung. Sie sollten die richtige Funktion für Zeitstempel mit Zeitzone verwenden. – mathguy
Warte - hast du die Frage selbst gestellt und beantwortet? Ernst? – mathguy
@mathguy, es ist allgemein üblich, etwas, das Sie auf SO finden, zu dokumentieren, indem Sie Ihre eigene Frage stellen/beantworten. Es gibt anderen die Möglichkeit, andere Optionen zu geben und/oder (wie Sie es getan haben) zu kritisieren :) –
- 1. Konvertieren von UTC Datetime Benutzer lokalen Datum und Uhrzeit
- 2. In UTC-Zeitstempel konvertieren
- 3. Konvertieren von Zeit in UTC in Pacific Zeit
- 4. Python: UTC-Zeit-Tupel in UTC-Zeitstempel konvertieren
- 5. Konvertieren von DateTime von bestimmter Zeitzone in UTC mit Nodatime?
- 6. Konvertieren von Datetime-Picker in UTC-Zeit
- 7. Konvertieren von Zeit und Zeitzone in UTC
- 8. Zeichenfolge Konvertieren in Lokalzeit UTC in C
- 9. Get Zeitstempel von Datum und Uhrzeit in UTC
- 10. Wie kann ich eine Datum/Uhrzeit-Zeichenfolge in lokaler Zeit in UTC in Python konvertieren?
- 11. Javascript: Konvertieren eines UTC Date() Objekts in die lokale Zeitzone
- 12. Konvertieren von UTC Datetime zu lokalem Datetime
- 13. Konvertieren von Moment UTC nach Lokales Datum
- 14. Datum/Uhrzeit dauerhaft konvertieren
- 15. JodaTime: Konvertieren lokal UTC Mehrdeutigkeit
- 16. Javascript konvertieren Datum zu UTC
- 17. konvertieren Datetime-String zu UTC in Schienen
- 18. Konvertieren Sie Zeit in UTC vbScript
- 19. Konvertieren der vom Benutzer eingegebenen Datumzeit in UTC
- 20. Wie Zeichenfolge Datum in UTC-Datum konvertieren
- 21. EDT in UTC nach EDT konvertieren
- 22. Wie PST Unix Zeitstempel in UTC konvertieren?
- 23. Zeitzone bestimmte Zeit in UTC konvertieren MomentJS
- 24. UTC-Zeit in Ortszeit konvertieren mit Nodatime
- 25. Konvertieren von Datum und Uhrzeit Unix-Zeitstempel
- 26. Konvertieren der lokalen Zeit in UTC in Rails
- 27. konvertieren utc time und offset zu DateTime
- 28. Wie UTC Datumsformat von SalesForce API konvertieren und konvertieren Sie es mit Google Apps Script
- 29. iPhone/OS X: UTC-Format konvertieren Datum und Uhrzeit Wert erforderlich Kalenderformat
- 30. Konvertieren UTC-Zeitstempel in EST-Datum und -Zeit mit SQL
Danke, ich mag diese viel einfachere Lösung. –