要将日期字符串从 YYYYMMDD
格式转换为 YYYY-MM-DD
格式,可以使用 Python 的 datetime
模块。以下是一个通用的代码示例,展示如何进行这种转换:
from datetime import datetime
def convert_date_format(date_str):
# 解析输入的日期字符串
date_obj = datetime.strptime(date_str, "%Y%m%d")
# 将日期对象格式化为新的字符串格式
formatted_date = date_obj.strftime("%Y-%m-%d")
return formatted_date
# 示例用法
input_date = "20140201"
output_date = convert_date_format(input_date)
print("Converted date:", output_date)
代码解释
-
导入模块:
from datetime import datetime
-
定义转换函数:
def convert_date_format(date_str): # 解析输入的日期字符串 date_obj = datetime.strptime(date_str, "%Y%m%d") # 将日期对象格式化为新的字符串格式 formatted_date = date_obj.strftime("%Y-%m-%d") return formatted_date
datetime.strptime(date_str, "%Y%m%d")
:将输入的YYYYMMDD
格式的字符串解析为datetime
对象。date_obj.strftime("%Y-%m-%d")
:将datetime
对象格式化为YYYY-MM-DD
格式的字符串。
-
示例用法:
input_date = "20140201" output_date = convert_date_format(input_date) print("Converted date:", output_date)
input_date
是输入的日期字符串。output_date
是转换后的日期字符串。
输出
运行上述代码,输出将是:
Converted date: 2014-02-01
获取当天时间并返回20241010格式字符串:
from datetime import date, timedelta
def format_date_str(delta: int = 0, format: str = '%Y%m%d') -> str:
t_date = date.today() + timedelta(days=delta)
formatted_date_str = t_date.strftime(format)
return formatted_date_str
print(format_date_str())