如何将dd.MM.yyyy格式日期转换为ISO8601标准yyyy-MM-dd格式
日期转换方案
原始待转换格式为dd.MM.yyyy(日.月.四位年),目标ISO8601标准格式为yyyy-MM-dd,核心转换逻辑为拆分原始字符串后调整字段顺序重新拼接,可按需增加日期合法性校验。
通用转换逻辑
- 按
.分割原始日期字符串,得到日、月、年三个字段 - 调整字段顺序为
年、月、日 - 确保月、日均为两位数字,不足补前导零后用
-拼接
不同场景实现
Python
字符串直接处理(无需依赖)
raw_date = "15.03.2016" day, month, year = raw_date.split('.') iso_date = f"{year}-{month}-{day}" # 输出结果:2016-03-15
带日期合法性校验(推荐)
from datetime import datetime raw_date = "15.03.2016" # 按%d.%m.%Y格式解析日期,非法日期会直接抛出异常 date_obj = datetime.strptime(raw_date, "%d.%m.%Y") iso_date = date_obj.strftime("%Y-%m-%d")
JavaScript
const rawDate = "15.03.2016"; const [day, month, year] = rawDate.split('.'); // padStart补全前导零,避免单数字月/日出错 const isoDate = `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`;
Linux Shell
raw_date="15.03.2016" IFS='.' read -r day month year <<< "$raw_date" iso_date="$year-$month-$day"
Excel/WPS 表格
假设原始日期存储在A1单元格,公式如下:
=TEXT(DATE(RIGHT(A1,4),MID(A1,4,2),LEFT(A1,2)),"yyyy-mm-dd")
注意事项
转换前请确认原始日期格式为日.月.年,避免日月字段顺序颠倒导致转换结果错误。
内容的提问来源于stack exchange,提问作者Luis Felipe Taddey Espinosa
相关产品推荐
相关产品推荐

