要在 Python 取得 today 日期,可以用下面語法:
from datetime import date
NowDate=date.today()
#印出 20180704
print(NowDate.strftime('%Y%m%d'))
#印出 2018-07-04
print(NowDate.strftime('%Y-%m-%d'))
關於 date 這物件,有提供 replace 方法,可以讓你針對 year / month / day 做調整。
如果只是針對 year 做修改(例如 +1 年),應該沒甚麼問題;但如果針對 month 或 day 修改,就要考慮會不會出現 13月 、 32日 這種超出界線的問題。實際上,replace 這方法並不會自動幫我們處理跳到下個月或下一年的事情,但他會去檢查 replace 後的日期是否正確。
#故意讓 day 超出界線
NextDaty=NowDate.replace(day=NowDate.day+31)
執行結果的錯誤訊息會是:day is out of range for month
如果想要對 month 或 day 做調整,可以用 timedelta 來完成
但要記得先 import datetime
from datetime import date
import datetime
NowDate=date.today()
date_1 = datetime.datetime.strptime(NowDate.strftime('%m/%d/%y'), "%m/%d/%y")
#end_date 就會是 31 天之後的日期
end_date = date_1 + datetime.timedelta(days=31)
參考:
01.Adding 5 days to a date in Python
https://stackoverflow.com/questions/6871016/adding-5-days-to-a-date-in-python
02.Getting today's date in YYYY-MM-DD in Python?
https://stackoverflow.com/questions/32490629/getting-todays-date-in-yyyy-mm-dd-in-python