put*_*air 2 python datetime converters
我有像Jan 25, 2021(Jan,Feb,Mar,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)这样的字符串,我该如何将其转换为2021-01-25?
我正在定义一个函数,如:
def to_datetime(datestring):
#date = datetime.strptime(datestring, '%m.%d.%Y')
#return date.strftime("%Y-%m-%d")
return datetime.strptime(datestring, '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
问题是月份词,所以也许我可以将字符串替换为月份数字,然后将其转换,但我被卡住了
正如您在我的评论中看到的那样,您只需要使用正确的匹配掩码即可。
您的日期字符串采用格式%b %d, %Y,因此您需要在strptime(). 考虑到这一点,像这样的函数将完成这项工作:
from datetime import datetime
def mdy_to_ymd(d):
return datetime.strptime(d, '%b %d, %Y').strftime('%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
这是一个概念证明:
>>> from datetime import datetime
>>>
>>>
>>> def mdy_to_ymd(d):
... return datetime.strptime(d, '%b %d, %Y').strftime('%Y-%m-%d')
...
>>> mdy_to_ymd('Jan 25, 2021')
'2021-01-25'
>>>
Run Code Online (Sandbox Code Playgroud)
请记住,使用掩码字符格式从匹配日期strptime()创建datetime对象string。一旦在datetime对象中获得正确的掩码和正确的表示,您就可以使用strftime().
有关更多信息,请检查strftime()和strptime()格式化代码。
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |