Python中如何将str格式日期转换为指定格式的datetime类型
实现日期字符串转东九区带精度的datetime方案
以下为Python环境下的实现方式,Python3.9及以上版本可直接原生实现,无需额外依赖第三方库:
核心步骤
- 先将原始
%Y-%m-%d格式的日期字符串解析为无时区信息的naive datetime对象 - 为naive datetime对象绑定UTC+9的东九区时区信息
- 若需要输出指定格式的字符串,调用
isoformat方法指定毫秒级精度即可
代码示例
from datetime import datetime, timezone, timedelta # 输入的原始日期字符串 raw_date = '2021-07-24' # 1. 解析字符串为datetime对象,默认时间为当日00:00:00 naive_datetime = datetime.strptime(raw_date, '%Y-%m-%d') # 2. 绑定东九区时区信息 jp_timezone = timezone(timedelta(hours=9)) timezone_aware_datetime = naive_datetime.replace(tzinfo=jp_timezone) # 输出符合要求的字符串格式 formatted_result = timezone_aware_datetime.isoformat(timespec='milliseconds') print(formatted_result) # 输出:2021-07-24T00:00:00.000+09:00
注意事项
- 如果你需要的是datetime类型而非字符串,
timezone_aware_datetime就是已经带有时区信息的datetime对象,无需额外转换 - 如果使用低于3.9的Python版本,可以用
pytz库构造东九区时区,其余逻辑一致
内容的提问来源于stack exchange,提问作者kwsong0314
相关产品推荐
相关产品推荐

