首页 > 解决方案 > 在python中将字符串格式的日期和月份转换为日期的pythonic方法是什么

问题描述

我有字符串格式的日期和月份23rd Sep,我想将上述字符串转换为当前日期23/09/2021。我使用下面的代码实现了这一点,更pythonic的方法是什么?

from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
year = str(now).split('-')
year =year[0]
dm = '23rd Sep'
s = re.findall(r'[A-Za-z]+|\d+', dm)
day_month = " ".join(s[::len(s)-1] )
date = day_month +' ' + year
dmap = {'Jan':'January','Feb':'Febuary','Mar':'March','Sep':'September'}
import arrow
for i in dmap.keys():
    s = date.split(' ')
    if i in s:
        s[1] = dmap[i]
        clean_date = ' '.join(s)
        p = arrow.get(clean_date, 'DD MMMM YYYY').format('DD/MM/YYYY')
print(p)

标签: pythonpandasdataframe

解决方案


我没有看到问题:

import pandas as pd

s = '23rd Sep'
pd.Timestamp(s + ' 2021')
Out[1]: Timestamp('2021-09-23 00:00:00')

如果你想要 DMY 格式:

_.strftime('%d/%m/%Y')
Out[2]: '23/09/2021'

推荐阅读