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

  • HER0R

    HER0R

    16 Aralık 2007
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006