我有一個python認定爲str
的日期列表。我需要能夠將其作爲日期來工作,以便能夠添加和減去天數。日期的格式爲「2017年6月29日」將字符串列表轉換爲日期列表Python 3.6
如何獲取日期列表而不是字符串列表?
我有一個python認定爲str
的日期列表。我需要能夠將其作爲日期來工作,以便能夠添加和減去天數。日期的格式爲「2017年6月29日」將字符串列表轉換爲日期列表Python 3.6
如何獲取日期列表而不是字符串列表?
datetime.datetime.strptime
轉換字符串datetime
對象:
>>> datetime.datetime.strptime('29-Jun-2017', '%d-%b-%Y')
datetime.datetime(2017, 6, 29, 0, 0)
然後,datetime.datetime.date()
將返回date
對象:
>>> datetime.datetime.strptime('29-Jun-2017', '%d-%b-%Y').date()
datetime.date(2017, 6, 29)
其他格式的代碼見strftime()
and strptime()
Behavior。
箭頭模塊使日期的這種類型的計算特別容易。
這裏我創建了一個日期字符串的短列表,我將其轉換爲箭頭日期。顯示這些日期後,我使用replace
方法從每個日期減去兩天,創建一個新列表。然後我將這個結果格式化顯示。
>>> import arrow
>>> data = [ '01-Jan-2017', '31-Dec-2017' ]
>>> data_as_dates = [ arrow.get(_, 'DD-MMM-YYYY') for _ in data]
>>> data_as_dates
[<Arrow [2017-01-01T00:00:00+00:00]>, <Arrow [2017-12-31T00:00:00+00:00]>]
>>> two_days_earlier = [ _.replace(days=-2) for _ in data_as_dates ]
>>> [_.format('YYYY MMMM DD') for _ in two_days_earlier]
['2016 December 30', '2017 December 29']
包含在箭頭對象的日期可作爲適合於與日期時間使用常規的Python日期,例如。