如何使用Python在ISO中格式化日期?

Rev*_*air 5 python iso date

我有一些日期格式是d/m/yyyy(例如2/28/1987).我想以ISO格式:1987-02-28

我想我们可以这样做,但似乎有点沉重:

str_date = '2/28/1987'
arr_str = re.split('/', str_date)
iso_date = arr_str[2]+'-'+arr_str[0][:2]+'-'+arr_str[1]
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以用Python做到这一点?

Mar*_*ers 17

您可以使用该datetime模块:

datetime.datetime.strptime(str_date, '%m/%d/%Y').date().isoformat()
Run Code Online (Sandbox Code Playgroud)

或者,作为运行代码:

>>> import datetime
>>> str_date = '2/28/1987'
>>> datetime.datetime.strptime(str_date, '%m/%d/%Y').date().isoformat()
'1987-02-28'
Run Code Online (Sandbox Code Playgroud)

  • 'isoformat()`的+1.我从来不知道那个. (2认同)

Ble*_*der 6

我会使用该datetime模块来解析它:

>>> from datetime import datetime
>>> date = datetime.strptime('2/28/1987', '%m/%d/%Y')
>>> date.strftime('%Y-%m-%d')
'1987-02-28'
Run Code Online (Sandbox Code Playgroud)