SORU
31 Temmuz 2012, Salı


Python datetime strftime ile epoch dönüştürmek

Hangi epoch beri saniye sayısı istiyorum UTC bir zaman var.

Strftime saniye sayısını dönüştürmek için kullanıyorum. Alarak 1 Nisan 2012 örnek olarak.

>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'

Epoch Nisan 2012 UTC 1 1 saat farklı olan 1333238400 ama bu döndürür yukarıda 1333234800.

Bu strftime hesaba sistemi zamanımı alıyor gibi görünüyor ve bir yerde saat vardiya geçerlidir. Datetime tamamen saf olduğunu sanıyordum?

Bu gibi durumlarda nasıl alabilirim? Almak kaçınarak, mümkün standart sürece diğer kitaplıkları. (Taşınabilirlik endişelerim var).

CEVAP
31 Temmuz 2012, Salı


Python yok aslında destek %s argüman olarak strftime (eğer check http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior değil liste), tek nedeni o çalışıyor çünkü Python geçmesinin bilgi için sisteminizin strftime kullandığı yerel zaman dilimi.

Eğer epoch beri saniye için bir python datetime dönüştürmek istiyorsanız bunu açıkça yapmak gerekir:

>>> datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
>>> (datetime.datetime(2012,04,01,0,0) - datetime.datetime(1970,1,1)).total_seconds()
1333238400.0

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009