回答
dateutil.parser
將解析幾乎所有已知的日期格式:
from dateutil.parser import parse
parse('8th April')
要始終讓你在未來的日期:
from dateutil.parser import parse
from datetime import datetime
d = parse('8th April')
if (d - datetime.now()).days <= 0:
d = datetime.date(d.year+1, d.month, d.day)
你可以設置'parse'方法來始終返回未來日期嗎?例如。如果是「4月1日」,它是否可以返回「01-04-2013」而不是「01-04-2012」? – 2012-04-12 18:39:14
@JosvicZammit你可以在默認的kwarg中提供一個默認值的datetime實例:'parse('8th',default = datetime.date(2013,1,1))' – mensi 2012-04-12 18:43:46
@mensi,我認爲默認值不是因爲問題更復雜而工作。 – 2012-04-12 18:50:34
from datetime import datetime
val = val.replace('th', '').replace('st', '')
d = datetime.strptime(val, '%d %B')
- 1. 轉換使用Strptime()
- 2. 使用DateTime :: Format :: Strptime將字符串轉換爲日期
- 3. 錯誤使用strptime,而strftime的轉換日期劃時代
- 4. 將JavaScript日期字符串轉換爲R使用strptime的POSIXct日期時間
- 5. 日期格式使用strptime不正確
- 6. 如何將float/integer轉換爲帶有strptime的日期?
- 7. 字符串轉換爲日期:strptime標識符沒有找到
- 8. 使用Python strptime將日期列表轉換爲datetime非常緩慢
- 9. 日期strptime返回無效日期
- 10. Django的日期格式問題使用strptime()日期
- 11. 使用strptime轉換時間戳 - R
- 12. 使用to_datetime轉換日期
- 13. 的Python解析日期strptime
- 14. 日期時間strptime在python
- 15. Matplotlib strptime與日翻轉
- 16. 日期轉換
- 17. 轉換日期
- 18. 日期轉換
- 19. 日期轉換
- 20. 轉換日期
- 21. 轉換日期
- 22. 日期轉換
- 23. 日期轉換
- 24. 日期轉換
- 25. 蟒日期時間:strptime和strftime不轉換相同的數據正確地
- 26. 使用lubridate將日期轉換爲CSV
- 27. 使用as.POSixct轉換爲日期時間
- 28. 使用PHP轉換日期格式
- 29. 使用str_to_date將varchar轉換爲日期
- 30. 使用IS NULL來轉換空日期
我覺得不雅的解決方案,如去除「st」,「nd」,「rd」和「th」後綴通過正則表達式,然後通過'strptime()'解析。任何人都有更好的想法? – 2012-04-12 18:21:14