Python如何将16/08/2018 14.29.30格式字符串转成2018-08-16 14:29:30 Datetime类型
Python实现日期格式转换方案
不需要手动替换时间部分的.分隔符,直接通过datetime内置的字符串解析方法指定原始格式规则即可完成转换,全程不需要额外处理字符替换,逻辑更简洁。
具体实现步骤
- 导入datetime模块
from datetime import datetime
- 解析原始日期字符串为Datetime类型
原始字符串格式为日/月/年 时.分.秒,对应解析格式符为%d/%m/%Y %H.%M.%S,直接传入解析即可得到标准Datetime对象:
raw_date_str = "16/08/2018 14.29.30" datetime_obj = datetime.strptime(raw_date_str, "%d/%m/%Y %H.%M.%S")
此时得到的datetime_obj就是符合要求的Datetime类型,可直接用于时间比较、计算等业务逻辑。
- (可选)输出为
2018-08-16 14:29:30格式的字符串
如果需要生成指定格式的字符串,调用Datetime对象的strftime方法即可:
formatted_date_str = datetime_obj.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date_str) # 输出结果:2018-08-16 14:29:30
补充说明
如果你确实需要先处理字符再解析,也可以通过字符串替换实现,但该方式需要额外处理年月日顺序,容错率更低,不推荐使用:
# 不推荐的手动替换实现方式 processed_str = raw_date_str.split(' ')[0].split('/')[2] + '-' + raw_date_str.split(' ')[0].split('/')[1] + '-' + raw_date_str.split(' ')[0].split('/')[0] + ' ' + raw_date_str.split(' ')[1].replace('.', ':') datetime_obj = datetime.strptime(processed_str, "%Y-%m-%d %H:%M:%S")
内容的提问来源于stack exchange,提问作者user7260398
相关产品推荐
相关产品推荐

