Python的知识点运用-1(日期转换)
创始人
2025-05-31 01:33:58
0

问:如何将 '星期一, 三月 13, 2023'转换成2023-03-13


看到这个问题,你的第一反应是什么???

反正我是懵逼的。不过后面一想,时间模块可以。

在这个问题后面,群友又问了一个问题,如何在本地电脑让代码到点执行?

你怎么想???

time模块可以解决,其实也不仅仅只有time模块可以解决。脑洞打开!!!

到此结束!回回归正题!


一周多没更新,本章更新一个算常用模块的知识点。该知识点是某位群友提出来的!!!本意是问有没有简单的方式得出结果,且不能太慢。


我的第一反应是用 切片 以及 字典 + datetime模块。一起来看看

from datetime import datetimedate_str = '三月 13, 2023'# 将中文月份映射到数字月份
month_dict = {'一月': '1', '二月': '2', '三月': '3', '四月': '4', '五月': '5', '六月': '6', '七月': '7', '八月': '8', '九月': '9', '十月': '10', '十一月': '11', '十二月': '12'}
for month in month_dict:date_str = date_str.replace(month, month_dict[month])date = datetime.strptime(date_str, '%m %d, %Y')
format_date = date.strftime('%Y-%m-%d')print(format_date)
# 2023-03-13

注意:切片就不用说了吧,我这里直接拿着切片后的结果跑的。

这样就能得到结果,不过感觉有些麻烦,怎么办?

寻求网路资源,最后得到一个简单的

不过需要下载第三方模块!

import dateparserdate_str = '三月 13, 2023'
date = dateparser.parse(date_str, languages=['zh'])
format_date = date.strftime('%Y-%m-%d')print(format_date)

这样也是可以的。不过有点慢


不过最后,提出问题的当事人,最后给出的结果,是跟第一种方式类似,不过采用了正则。

import remonth_table = {'一': '1', '二': '2', '三': '3','四': '4', '五': '5', '六': '6','七': '7', '八': '8', '九': '9','十': '10', '十一': '11', '十二': '12'}text = '星期一, 三月 13, 2023'month, day, year = re.findall("([^\s]{,2})月 (\d{,2}), (\d{2,4})", text)[0]
month = month_table[month]
f"{year}-{month}-{day}"

看到上面的解决方式,你的想法是什么的。直呼大神?还是感觉麻烦?还是没必要这么写?

相关内容

热门资讯

常州法院2025年前三季度调解... 调解结案16474件、调解成功率24.08%——这是2025年前三季度常州法院交出的司法成绩单。通过...
安徽省政协研究室副主任陈鑫已任... 据铜陵市政府官网消息,11月20日上午,市委举行理论学习中心组学习会议,邀请省委社会工作部副部长高维...
原创 联... 据光明网报道,11月19日,在联合国大会的讨论中,日本企图争取成为安理会常任理事国的梦想再次破灭,令...
南部关于全县规范法律咨询服务机... 一、专项行动时间 自即日起至2025年12月。 二、举报受理范围 社会各界反映强烈的某些法律咨询服务...
“男子持刀入室盗窃”视频引发关... 近日,一段疑似“小偷”入室盗窃被业主家中监控拍下的视频在网上引发关注。11月21日晚,“翠屏公安”微...
绝不允许日本军国主义幽灵复活!... 2025年11月7日,日本首相高市早苗宣称,如果中国大陆对台湾出动军舰并使用武力,可能会构成“存亡危...
【解决】AI法律助手荣获202... 2025全球数字经济大会启幕,搭建国际数字合作高端平台 经国务院批准,由北京市人民政府、国家互联网信...
嘉兴男子与妻争吵,突然将行李箱... 近日,浙江嘉兴一对夫妻因琐事发生争吵,丈夫突然将装满衣物的行李箱从6楼扔到楼下,引发关注。11月22...
三地107家律所齐聚丰台,京津... 11月22日,京津冀律师驿站举办“党建业务深度融合 促进行业规范发展”主题活动,发布“百千万行动计划...