我有一些日期的格式是d/m/yyyy
(例如1987年2月28日)。 我想有它的ISO格式爲:1987年2月28日如何使用Python在ISO中格式化日期?
我認爲我們能做到這樣,但似乎有點沉重:
str_date = '2/28/1987'
arr_str = re.split('/', str_date)
iso_date = arr_str[2]+'-'+arr_str[0][:2]+'-'+arr_str[1]
是否有另一種方式來做到它與Python?
我有一些日期的格式是d/m/yyyy
(例如1987年2月28日)。 我想有它的ISO格式爲:1987年2月28日如何使用Python在ISO中格式化日期?
我認爲我們能做到這樣,但似乎有點沉重:
str_date = '2/28/1987'
arr_str = re.split('/', str_date)
iso_date = arr_str[2]+'-'+arr_str[0][:2]+'-'+arr_str[1]
是否有另一種方式來做到它與Python?
您可以使用datetime
module:
datetime.datetime.strptime(str_date, '%m/%d/%Y').date().isoformat()
,或者爲運行代碼:
>>> import datetime
>>> str_date = '2/28/1987'
>>> datetime.datetime.strptime(str_date, '%m/%d/%Y').date().isoformat()
'1987-02-28'
對於'isoformat()'+1。我從來不知道那個。 – Blender
你有什麼是非常接近我會怎麼寫呢,唯一的重大改進,我可以建議是使用普通的舊split
,而不是re.split
,因爲你並不需要一個正則表達式:
arr_str = str_date.split('/')
如果您做任何事情變得更復雜呀,我會建議time.strftime
需要,但是這不是字符串撲顯著更昂貴。
我會用datetime
模塊解析它:
>>> from datetime import datetime
>>> date = datetime.strptime('2/28/1987', '%m/%d/%Y')
>>> date.strftime('%Y-%m-%d')
'1987-02-28'
'.isoformat()'日期使用相同的格式化字符串OOTB。 :-) –
我有巨大的名單因此,我的第一個選擇是複製/粘貼電子表格編輯器(如LibreOffice)並更改o中的格式單元格rder設置正確的格式,但不起作用。# – Reveclair