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

  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • TomSka

    TomSka

    30 Mayıs 2006