SQL Server中从名称提取日期并转为yyyy-mm-dd格式求助
解决日期格式转换(20221201 → 2022-12-01)
方案1:Python实现
提供两种常用方式,按需选择:
- 切片拼接法(简单直接,适合确定格式合法的场景):
date_str = "20221201" formatted_date = f"{date_str[:4]}-{date_str[4:6]}-{date_str[6:]}" print(formatted_date) # 输出:2022-12-01
- datetime模块法(带合法性校验,避免无效日期):
from datetime import datetime date_str = "20221201" try: date_obj = datetime.strptime(date_str, "%Y%m%d") formatted_date = date_obj.strftime("%Y-%m-%d") print(formatted_date) # 输出:2022-12-01 except ValueError: print("输入的日期格式不合法")
方案2:JavaScript实现
- 字符串切片拼接:
const dateStr = "20221201"; const formattedDate = `${dateStr.slice(0,4)}-${dateStr.slice(4,6)}-${dateStr.slice(6)}`; console.log(formattedDate); // 输出:2022-12-01
- Date对象解析(自动处理日期合法性):
const dateStr = "20221201"; const year = dateStr.slice(0,4); const month = parseInt(dateStr.slice(4,6)) - 1; // 注意JavaScript月份为0基 const day = dateStr.slice(6); const dateObj = new Date(year, month, day); const formattedDate = dateObj.toISOString().split('T')[0]; console.log(formattedDate); // 输出:2022-12-01
方案3:Excel公式实现
如果是在Excel中处理,可用以下两种公式:
- TEXT函数一键格式化:
=TEXT(A1,"0000-00-00")
- 字符串拼接法:
=LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)
内容的提问来源于stack exchange,提问作者user20152482
相关产品推荐
相关产品推荐

