Probleme mit UTC und GMT

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
#cousin#
User
Beiträge: 25
Registriert: Mittwoch 18. März 2009, 22:56
Wohnort: Mannheim
Kontaktdaten:

Hi Zusammen,

ich habe ein Problem mit der Umwandlung von UTC (also der Zeit in millisekunden) zu einem lesbaren Zeitstempel.

Der UTC lautet: 1284928027646
Laut Software aus der er stammt ist dies: Sun, 19 September 2010 20:27:07 GMT
Laut python allerdings: Sat, 01 October 42687 04:07:26

Hier mein Code:

Code: Alles auswählen

import time
time.strftime("%a, %d %B %Y %H:%M:%S", time.gmtime(1284928027646))

Wo liegt der Fehler?
Die Zeit der Software ist übrigens die richtige :)

Bin für jede Hilfe dankbar!
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

#cousin# hat geschrieben:also der Zeit in millisekunden
Grüße
Gerrit
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich weiss nicht was dein UTC ist, aber UTC ist aequivalent zu GMT: http://en.wikipedia.org/wiki/Utc
BlackJack

@#cousin#: Du verwendest wohl ein 64-Bit-Betriebssystem -- bei mir gibt das nämlich sogar eine Ausnahme:

Code: Alles auswählen

In [290]: time.strftime("%a, %d %B %Y %H:%M:%S", time.gmtime(1284928027646))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

ValueError: timestamp out of range for platform time_t
#cousin#
User
Beiträge: 25
Registriert: Mittwoch 18. März 2009, 22:56
Wohnort: Mannheim
Kontaktdaten:

cofi hat geschrieben:Ich weiss nicht was dein UTC ist, aber UTC ist aequivalent zu GMT: http://en.wikipedia.org/wiki/Utc
ok, zur Sicherheit, ich meinte den Unix Time Code, teilweise auch als POSIX oder EPOCH bekannt. Die Abkürzung war von mir wohl ungeschickt gewählt.



BlackJack hat geschrieben:@#cousin#: Du verwendest wohl ein 64-Bit-Betriebssystem -- bei mir gibt das nämlich sogar eine Ausnahme:

Code: Alles auswählen

In [290]: time.strftime("%a, %d %B %Y %H:%M:%S", time.gmtime(1284928027646))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

ValueError: timestamp out of range for platform time_t
ja, ich habe ein 64bit System. Gibt es eine Lösung in Python die auf 32 und 64 bit die richtigen Werte liefert?
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Der wichtige Hinweis war "milliseconds". Die Function time.gmtime() erwartetet den Wert in Sekunden. (Millisekunden hinterm Komma).

Code: Alles auswählen

In [4]: time.strftime("%a, %d %B %Y %H:%M:%S", time.gmtime(1284928027646 / 1000.0))
Out[4]: 'Sun, 19 September 2010 20:27:07'
#cousin#
User
Beiträge: 25
Registriert: Mittwoch 18. März 2009, 22:56
Wohnort: Mannheim
Kontaktdaten:

Zap hat geschrieben:Der wichtige Hinweis war "milliseconds". Die Function time.gmtime() erwartetet den Wert in Sekunden. (Millisekunden hinterm Komma).

Code: Alles auswählen

In [4]: time.strftime("%a, %d %B %Y %H:%M:%S", time.gmtime(1284928027646 / 1000.0))
Out[4]: 'Sun, 19 September 2010 20:27:07'
super, vielen Dank, den Hinweis hatte ich nach der langen Nacht nicht verstanden :oops:

Der Holzhammer hat nun aber geholfen! :lol:
Antworten