python - 在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)
解决方案
我没有看到问题:
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'
推荐阅读
- javascript - 如何更改 V-Calendar 包的输入元素的 css 样式?
- multithreading - 如何通过 UDP 套接字发送大数据?
- json - 无法使用 jq 将 JSON 输出转换为 CSV 格式
- arrays - 在数组值中使用未初始化的值
- ios - 如何使用特定的 .swiftlint.yml?swiftlint 在根路径上命中它。
- python-3.x - Python 3.6 / Django 2.1.4:“使用已经存在的用户名/电子邮件注册会破坏 CSRF_TOKEN”
- python - 在 groupby 之后在 pandas 数据框中显示一对多映射
- java - 正则表达式 [A-Za-z !,?._'@]+ 返回 0 个匹配项,而 [ !,?._'@]+ 返回 10 个?
- html - 为什么某些 jpeg 图像无法在旧 iOS 版本的 iPhone 中加载?
- android - NativeScript 谷歌 API