如何将yyyymmdd格式的字符串转换为mmm-yyyy格式
日期格式转换实现方案
核心逻辑
- 将
yyyymmdd格式的字符串解析为标准日期对象 - 再将日期对象按
mmm-yyyy(英文三字母月份缩写+年份)格式输出即可
常用编程语言实现示例
Python 实现
from datetime import datetime def yyyymmdd_to_mmmyyyy(date_str: str) -> str: # 解析输入的yyyymmdd字符串 date_obj = datetime.strptime(date_str, "%Y%m%d") # 格式化输出目标格式 return date_obj.strftime("%b-%Y") # 测试用例 print(yyyymmdd_to_mmmyyyy("20240520")) # 输出结果:May-2024
JavaScript 实现
function yyyymmddToMmmyyyy(dateStr) { const year = dateStr.slice(0, 4); const month = parseInt(dateStr.slice(4, 6)) - 1; const dateObj = new Date(year, month); const monthAbbr = dateObj.toLocaleString('en-US', { month: 'short' }); return `${monthAbbr}-${year}`; } // 测试用例 console.log(yyyymmddToMmmyyyy("20240520")); // 输出结果:May-2024
Java 实现
import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Locale; public class DateConvert { public static String yyyymmddToMmmyyyy(String dateStr) { DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDate date = LocalDate.parse(dateStr, inputFormatter); DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("MMM-yyyy", Locale.ENGLISH); return date.format(outputFormatter); } public static void main(String[] args) { System.out.println(yyyymmddToMmmyyyy("20240520")); // 输出结果:May-2024 } }
补充说明
- 若需要输出中文月份格式,只需将对应格式化方法的 locale 切换为中文区域,输出结果会变为
5月-2024这类格式 - 实际使用时建议增加输入合法性校验,避免不符合
yyyymmdd格式的输入触发报错
内容的提问来源于stack exchange,提问作者Nitheesh
相关产品推荐
相关产品推荐

