如何将长格式日期‘September 21, 2022’转换为标准DD/MM/YYYY格式?
长格式日期转DD/MM/YYYY格式的可行方法
以下是几种常用场景下的实现方案:
Python 实现
利用标准库datetime完成解析与格式化:
from datetime import datetime original_date = "September 21, 2022" # 按原始格式解析为datetime对象 parsed_date = datetime.strptime(original_date, "%B %d, %Y") # 转换为DD/MM/YYYY格式 formatted_date = parsed_date.strftime("%d/%m/%Y") print(formatted_date) # 输出:21/09/2022
%B匹配完整英文月份名,%d匹配两位日期,%Y匹配四位年份;- 如果原始日期是月份缩写(如
Sep 21, 2022),将解析格式改为"%b %d, %Y"即可。
JavaScript 实现
通过Date对象结合字符串处理完成转换:
const originalDateStr = "September 21, 2022"; const date = new Date(originalDateStr); // 手动格式化保证格式统一 const day = String(date.getDate()).padStart(2, '0'); const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始计数,需+1 const year = date.getFullYear(); const formattedDate = `${day}/${month}/${year}`; console.log(formattedDate); // 输出:21/09/2022
也可以用Intl.DateTimeFormat简化操作:
const formatter = new Intl.DateTimeFormat('en-GB', { day: '2-digit', month: '2-digit', year: 'numeric' }); const formattedDate = formatter.format(new Date(originalDateStr));
Excel 实现
有两种便捷方式:
- 公式转换:若A1单元格为目标日期文本,使用公式
=TEXT(DATEVALUE(A1),"dd/mm/yyyy"),DATEVALUE先将文本转为日期序列,TEXT再格式化为指定样式; - 自定义单元格格式:先选中单元格,右键选择「设置单元格格式」→「自定义」,在类型中输入
dd/mm/yyyy(需确保单元格已转为日期类型,未转换的可通过「数据」→「分列」功能处理)。
注意事项
- 若原始日期的语言环境非英文,需对应调整解析规则(比如Python中需指定
locale); - 处理日期时需注意闰年、月份天数等边界情况,上述方法均已内置处理逻辑。
内容的提问来源于stack exchange,提问作者MusA1234
相关产品推荐
相关产品推荐

