在瑞典,我們有時使用奇怪的日期格式,例如新年是31/12。如果我將此格式設置爲字符串(可以是1/1到31/12之間的任何日期),並且假設它是今年,那麼如何使用Python進入標準日期格式(格式爲2012-01 -01和2012-12-31),可以作爲日期存儲在mySQL數據庫中。將奇怪的日期格式轉換爲標準日期格式
1
A
回答
2
,只需拆分兩個值,它們映射到整數和更新datetime.date()
實例:
import datetime
day, month = map(int, yourvalue.split('/'))
adate = datetime.date.today().replace(month=month, day=day)
使用datetime.date.today()
我們得到當前年份。
演示:
>>> import datetime
>>> somevalue = '31/12'
>>> day, month = map(int, somevalue.split('/'))
>>> datetime.date.today().replace(month=month, day=day)
datetime.date(2012, 12, 31)
>>> someothervalue = '1/1'
>>> day, month = map(int, someothervalue.split('/'))
>>> datetime.date.today().replace(month=month, day=day)
datetime.date(2012, 1, 1)
或者,你可以使用datetime.strptime()
method分析這些日期,但你必須手動更正年之後(這將使用1900作爲默認的,如果沒有一年是解析):
adate = datetime.datetime.strptime(yourvalue, '%d/%m').date()
adate = adate.replace(year=datetime.date.today().year)
0
沒有什麼奇怪的格式:)
可以使用datetime
模塊:
import datetime
d = datetime.datetime.strptime('31/12', '%d/%m').date().replace(year=2012)
print d
>> datetime.date(2012, 12, 31)
相關問題
- 1. 將非標準日期格式轉換爲R中的日期
- 2. JavaScript格式日期奇怪
- 3. 轉換SQL日期,以標準格式
- 4. VB.Net將日期格式從yy-mm-dd轉換回標準日期格式(dd.mm.yyyy)
- 5. 將文本日期格式轉換爲日期格式
- 6. 將ISO日期至日期格式轉換爲LONG日期格式爲javascript
- 7. 轉換爲日期格式
- 8. 轉換日期格式爲
- 9. Oracle日期格式 - 奇怪的行爲
- 10. 如何將日期日期轉換爲英文日期格式?
- 11. 將不同日期格式格式化爲標準格式
- 12. 如何將標準格式的日期時間轉換爲
- 13. 將JavaScript日期格式轉換爲期望的PHP格式
- 14. XML中的奇怪日期格式,轉換爲Ruby日期時間對象
- 15. 將SQL系統日期時間轉換爲非標準格式
- 16. 將日期字符串轉換爲標準格式?
- 17. 如何將硬編碼日期轉換爲標準GMT格式
- 18. 轉換奇數日期格式
- 19. 如何將日期轉換爲年,月,日日期格式
- 20. 轉換日期到MySQL日期格式
- 21. 轉換日期格式/加密日期
- 22. 標準日期格式與自定義日期格式
- 23. 將日期轉換爲其他格式?
- 24. Oracle將RAW轉換爲日期格式
- 25. 將日期格式轉換爲ddmmyyyy
- 26. 將格式化日期轉換爲NSDate
- 27. Javascript - 將日期格式轉換爲秒
- 28. 將SAS日期格式轉換爲R
- 29. 將日期轉換爲其他格式
- 30. 將日期轉換爲特定格式