如何在Python中将2022-10-27T00:00:00.000+00:00转为YYYY-MM-DD格式
在Python中转换ISO格式日期字符串为YYYY-MM-DD格式
下面是几种实用的方法来把2022-10-27T00:00:00.000+00:00这类ISO格式的日期字符串转换成YYYY-MM-DD格式:
方法一:使用标准库datetime
Python自带的datetime模块可以直接解析带时区的日期字符串,步骤如下:
- 导入
datetime类 - 用
strptime方法解析原字符串,指定匹配的格式 - 用
strftime方法输出目标格式,或者直接提取date()对象再转字符串
from datetime import datetime date_str = "2022-10-27T00:00:00.000+00:00" # 解析带时区的日期字符串 parsed_date = datetime.strptime(date_str, "%Y-%m-%dT%H:%M:%S.%f%z") # 转换为YYYY-MM-DD格式 formatted_date = parsed_date.strftime("%Y-%m-%d") # 或者直接取date部分转字符串:formatted_date = str(parsed_date.date()) print(formatted_date) # 输出: 2022-10-27
方法二:使用dateutil.parser(更灵活)
如果不想手动写格式字符串,可以用第三方库python-dateutil的parser模块,它能自动识别大部分日期格式:
- 先安装库:
pip install python-dateutil - 导入
parser并解析字符串 - 同样用
strftime或date()处理
from dateutil import parser date_str = "2022-10-27T00:00:00.000+00:00" parsed_date = parser.parse(date_str) formatted_date = parsed_date.strftime("%Y-%m-%d") print(formatted_date) # 输出: 2022-10-27
方法三:直接字符串切片(仅限固定格式)
如果你的日期字符串格式永远是YYYY-MM-DD开头,后面跟着固定的后缀,直接取前10个字符是最快捷的方式:
date_str = "2022-10-27T00:00:00.000+00:00" formatted_date = date_str[:10] print(formatted_date) # 输出: 2022-10-27
注意:这种方法只适用于格式完全固定的场景,如果字符串格式有变化(比如日期部分长度不同)会出错,建议优先用前两种方法。
内容的提问来源于stack exchange,提问作者Chaitanya SH
相关产品推荐
相关产品推荐

