如何将日期格式"20221015T000000Z"转换为yyyy-mm-dd格式?
如何将"20221015T000000Z"转换为yyyy-mm-dd格式?
以下是几种主流编程语言的实现方案,你可以根据开发场景选择:
Python
利用datetime模块先解析原始字符串,再格式化为目标格式:
from datetime import datetime date_str = "20221015T000000Z" # 按原始格式解析日期 parsed_date = datetime.strptime(date_str, "%Y%m%dT%H%M%SZ") # 转换为yyyy-mm-dd格式 formatted_date = parsed_date.strftime("%Y-%m-%d") print(formatted_date) # 输出:2022-10-15
JavaScript
有两种常见实现方式:
方式1:直接截取字符串(简单高效,适合格式固定的场景)
const dateStr = "20221015T000000Z"; const formattedDate = `${dateStr.slice(0,4)}-${dateStr.slice(4,6)}-${dateStr.slice(6,8)}`; console.log(formattedDate); // 输出:2022-10-15
方式2:通过Date对象处理(适合需要后续日期操作的场景)
const dateStr = "20221015T000000Z"; // 转换为标准ISO格式 const isoStr = dateStr.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/, "$1-$2-$3T$4:$5:$6Z"); const date = new Date(isoStr); // 提取yyyy-mm-dd部分 const formattedDate = date.toISOString().split('T')[0]; console.log(formattedDate); // 输出:2022-10-15
Java(Java 8+)
使用java.time包下的API(线程安全,推荐):
import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateConversion { public static void main(String[] args) { String dateStr = "20221015T000000Z"; DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss'Z'"); LocalDate date = LocalDate.parse(dateStr, inputFormatter); DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedDate = date.format(outputFormatter); System.out.println(formattedDate); // 输出:2022-10-15 } }
核心思路总结
- 如果需要对日期进行后续计算或验证,优先选择解析为日期对象再格式化的方式;
- 如果原始日期字符串格式固定(如本例中前8位为yyyyMMdd),直接截取字符串并插入分隔符是最简洁高效的方案。
内容的提问来源于stack exchange,提问作者priya pathak
相关产品推荐
相关产品推荐

