2010-10-08 9 views
13

:python - strtotime karşılığı mı? Ben Unix zaman damgası ile tarih saat dizeleri dönüştürmek için bu kullanıyorum

süresi: Ancak

str(int(time.mktime(time.strptime(date,"%d %b %Y %H:%M:%S %Z")))) 

genellikle tarih yapısı yüzden aşağıdaki hata mesaj almaya devam aynı değildir veri biçimini eşleşmedi: data = Sal, 26 Mayıs 2009 19:58:20 -0500 fmt =% d% b% Y% H:% M:% S% Z

kimse herhangi basitçe biliyor mu pytho'da bir tarih/saatin bir dize temsilini bir unix zaman damgasına dönüştürmek için işlev n? Gerçekten bir döngü :)

+0

Eğer dize biçimi çağırma için çağırma farklı olduğunu söylüyorsunuz içinde damgası her zaman yankı bir php komut dosyası aramak için bir süreç açmak zorunda kalmak istemiyoruz? Ve bu işlevin sizin için dizginizin formatını tespit etmesini mi istiyorsunuz? – Ray

+0

Evet, öyle diyor. Asker, bu tarih formatı otomatik algılama sezgiselini içeren PHP'nin strtotime'ına kullanılır. –

+1

Neden str (int (...)) ifadenin etrafında? Python'daki Unix zaman damgaları, genellikle kesirli saniyeler sağlayan kayan nokta sayıları olarak geçirilir; zaman damgasını doğrudan bir nedenle yazdırmanız gerekmedikçe muhtemelen bir dizeye dönüştürmemelisiniz. –

cevap

27
from dateutil.parser import parse 

parse('Tue, 26 May 2009 19:58:20 -0500').strftime('%s') 

# returns '1243364300' 
+12

Bu, üçüncü taraf modülüne burada referans olarak görünüyor: http://labix.org/python-dateutil. Bildiğim kadarıyla, Python standart kütüphanesinde bilinmeyen formattaki tarih dizilerini ayrıştırmanın basit bir yolu yoktur. Sorunumu yanıtladı –

+0

, benim için üçüncü parti modülleri ile tamam. – Joe

+0

bu çok tatlı. onu dikkatime sunduğun için teşekkürler! – Andbdrew

İlgili konular