回答
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. 錯誤使用strptime,而strftime的轉換日期劃時代
- 3. 將JavaScript日期字符串轉換爲R使用strptime的POSIXct日期時間
- 4. 如何將float/integer轉換爲帶有strptime的日期?
- 5. 日期strptime返回無效日期
- 6. Django的日期格式問題使用strptime()日期
- 7. 日期時間strptime在python
- 8. Matplotlib strptime與日翻轉
- 9. 日期轉換
- 10. 日期轉換
- 11. 日期轉換
- 12. 日期轉換
- 13. 轉換日期
- 14. 日期轉換
- 15. 蟒日期時間:strptime和strftime不轉換相同的數據正確地
- 16. 使用lubridate將日期轉換爲CSV
- 17. 使用POSIX轉換日期和時間
- 18. 使用as.POSixct轉換爲日期時間
- 19. 使用javascript轉換日期格式
- 20. 使用PHP轉換日期格式
- 21. 使用str_to_date將varchar轉換爲日期
- 22. 使用R轉換因子到日期
- 23. PHP日期轉換
- 24. Javascript:日期轉換
- 25. PHP日期轉換
- 26. SAS日期轉換
- 27. JS日期轉換
- 28. C#轉換日期
- 29. 轉換UTC日期
- 30. TSQL日期轉換
我覺得不雅的解決方案,如去除「st」,「nd」,「rd」和「th」後綴通過正則表達式,然後通過'strptime()'解析。任何人都有更好的想法? – 2012-04-12 18:21:14