如何使用JavaScript将英文格式时间转换为法语格式时间
英文格式时间转法语格式时间实现方案
对照你给出的样例,转换前后日期段完全一致,核心只有两个转换要求:
- 将12小时制(带AM/PM后缀)的时间部分转为24小时制
- 去掉时间末尾的AM/PM标识
下面给出两种常用技术栈下可直接运行的实现代码,跑出来的结果完全匹配你的目标输出。
Python 实现
直接用Python标准库datetime处理即可,无需安装第三方依赖:
from datetime import datetime def en_to_fr_time(time_str): # 按输入格式解析原始时间字符串 time_obj = datetime.strptime(time_str.strip(), "%m/%d/%Y %I:%M:%S %p") # 按目标格式输出,保留原日期顺序,使用24小时制 return time_obj.strftime("%m/%d/%Y %H:%M:%S") # 样例测试 input_val = "04/01/2021 02:06:22 PM" print(en_to_fr_time(input_val)) # 输出结果:04/01/2021 14:06:22
JavaScript 实现
使用原生JS能力即可实现,无需引入额外库:
function enToFrTime(timeStr) { const timeObj = new Date(timeStr.trim()); const pad2 = num => String(num).padStart(2, '0'); // 拼接各字段,注意JS getMonth返回值范围是0-11,需要+1 const month = pad2(timeObj.getMonth() + 1); const date = pad2(timeObj.getDate()); const year = timeObj.getFullYear(); const hours = pad2(timeObj.getHours()); const minutes = pad2(timeObj.getMinutes()); const seconds = pad2(timeObj.getSeconds()); return `${month}/${date}/${year} ${hours}:${minutes}:${seconds}`; } // 样例测试 const inputVal = "04/01/2021 02:06:22 PM"; console.log(enToFrTime(inputVal)); // 输出结果:04/01/2021 14:06:22
注意:部分法语地区实际使用
日/月/年的日期顺序,如果后续你需要适配这种场景,只需要把格式化输出部分的月份、日期字段调换位置即可,上述代码是完全匹配你给出的样例规则编写,直接运行即可得到你需要的结果。
内容的提问来源于stack exchange,提问作者Veron
相关产品推荐
相关产品推荐

