如何使用Excel公式将特殊格式日期转换为指定格式?
解决日期格式转换问题
没问题,我来帮你搞定这个日期格式转换的需求!看起来你是想把带英文月份和日期后缀的时间字符串,转成标准的YYYY-MM-DD HH:MM:SS格式,下面用Python给你演示最常用的实现方法:
步骤说明
- 清理原始日期字符串:原始日期里的
th(还有可能出现的st/nd/rd)会干扰日期解析,所以先把这些后缀去掉 - 解析为日期对象:用
datetime模块把清理后的字符串转成可操作的日期对象 - 格式化为目标字符串:把日期对象转成你需要的标准格式
代码示例
from datetime import datetime import re # 你的原始日期字符串 original_date = "January 24th 2018, 08:43:04.458" # 移除日期数字后的st/nd/rd/th后缀 cleaned_str = re.sub(r'(\d+)(st|nd|rd|th)', r'\1', original_date) # 解析为datetime对象 dt_obj = datetime.strptime(cleaned_str, "%B %d %Y, %H:%M:%S.%f") # 格式化为目标格式 target_format = dt_obj.strftime("%Y-%m-%d %H:%M:%S") print(target_format) # 输出: 2018-01-24 08:43:04
注意点
- 你提到的目标日期是
2018-12-24,但原始日期是January(1月),这里应该是笔误吧?如果确实需要把月份改成12月,可以在解析后手动修改dt_obj.month = 12再格式化。 - 如果是其他编程语言,思路类似:先处理掉干扰的后缀字符,再解析日期,最后重新格式化。
内容的提问来源于stack exchange,提问作者pyt ho9




