Bir dize, datetime.strptime(date_string, format)
datetime alma işlevi, ikinci argüman olarak bir dize biçimi gerektirir. Tam formatı bilmeden bir dizeden bir tarih oluşturmak için bir yol var mı ve Python en iyi tahmin mi?datetime, en iyi tahmin edilen dize biçimi
cevap
Ben python bir adam olmadan önce, ben bir perl adamdım. Her zaman özlediğim ama ona yakın bir şey görmediğim şeylerden biri Date::Manip. Bu modül, nibblesin kırılmasından iyi bir zaman damgası çıkarabilir. Neredeyse yazarın Şeytan'la bir anlaşma yaptığını sanıyorum.
Python içinde ona kesmelerine almak birkaç şey arasında karşılaştık:
- normaldate
- mxDateTime
- roundup 'in tarih modülü bazı hayranları var
Eğer daha iyi bir şey bulmak olsa da bunu duymak isterim.
Öneriler için teşekkürler - Cevabımı görün, [dateutil] (http://pypi.python.org/pypi/python-dateutil/1.5) kütüphanesi ile kendi yanıtımı bulduğumu düşünüyorum. – Yarin
dateutil kitaplığını kullanın.
Zaten(Convert UTC datetime string to local datetime ve How do I convert local time to UTC in Python? bakınız) Ve ben sadece tarih ayrıştırma desteği vardır fark ettik taşıma saat dilimleri için vazgeçilmez lib olarak dateutil kullanıyordum
:
import dateutil.parser
yourdate = dateutil.parser.parse(datestring)
(Ayrıca bkz How do I translate a ISO 8601 datetime string into a Python datetime object?)
Yalnızca tarihlere karşı denetleniyorsa, basit bir işlevden kurtulabilir.
def get_date(s_date):
date_patterns = ["%d-%m-%Y", "%Y-%m-%d"]
for pattern in date_patterns:
try:
return datetime.datetime.strptime(s_date, pattern).date()
except:
pass
print "Date is not in expected format: %s" %(s_date)
sys.exit(0)
[doğal dilden tarihleri ve saatleri ayrıştırmak için herhangi piton kütüphane var?] (Içinde
Tarih formatınızın kapsanması koşuluyla dateutil'i kullanmadan çok daha hızlıdır. – rbennell
- 1. dönüştürme datetime biçimi saat
- 2. dize biçimi?
- 3. dönüştürme datetime biçimi
- 4. pandas.to_datetime tutarsız zaman dize biçimi
- 5. Bir dizi doğrusal modelden tahmin edilen değerler
- 6. İç içe dize biçimi
- 7. SQL Server sorgusunda Datetime biçimi
- 8. Sistem DateTime biçimi nasıl alınır?
- 9. JMS serializer yml datetime biçimi
- 10. Dize datetime dönüştürme C#
- 11. uygulama motoru: dize - datetime?
- 12. LINQ convert DateTime - dize
- 13. Python'da en iyi sipariş edilen dict uygulaması nedir?
- 14. Dışbükey gövdenin en boy oranının tahmin edilmesi
- 15. C# DateTime Bu biçimi "20120314T130000" ayrıştırma/dönüştürme
- 16. 4 # tuhaf biçiminden C# DateTime ayrıştırma biçimi
- 17. Django kalan çerçeve datetime Alan biçimi
- 18. WPF Tarih Dize Biçimi XAML'de
- 19. piton datetime nesnesine bir isoformat dize dönüştürmek
- 20. Egzersiz DateTime biçimlendirme
- 21. ISO UTC DateTime biçimi varsayılan olarak json çıktı biçimi MVC 6 API yanıtı
- 22. iyi biçimi URL'ye değişken geçirme
- 23. SFrame'de dateTime nesnesine dize nesnesi
- 24. javascript kullanarak dize datetime dönüştürün?
- 25. datetime dizgesini datetime nesnesine nasıl dönüştürebilirim?
- 26. en iyi (veya en azından iyi) kılavuz
- 27. En iyi yol C#
- 28. DateTime dönüştürmede dize için .NET compact Framework
- 29. Sözlük'te en yakın DateTime anahtarını bulun <DateTime, çift>
- 30. Regex en iyi uygulamaları
olası yinelenen http://stackoverflow.com/questions/1495487/is-there-any-python-library-for -parsing-date-and-times-a-natural-language) –
mm/gg/yyyy ile gg/aa/yyyy arasındaki fark, yanlış anladığınızda felaketle sonuçlanan ilginç bir sorundur. –
"Tam biçim olmadan" dediğinizde ne kadar kusursuz olacağınıza bağlıdır. İşleyebilmek için kullanacağınız giriş türlerinden örnekler verebilir misiniz? Ya da, biçim hakkında kısmi bilgi sahibi olabilir misiniz (yıl 2 veya 4 basamaklı mı, ayın önceki gün mi yoksa tam ters mi)? En azından bazı temel bilgiler olmadan, bir kişi bile sorduğunuz şeyi yapamaz. 01/02/12 1 Şubat 2012, 2 Ocak 2012, 12 Şubat 2001, 2 Aralık, ya da başka bir şey mi? –