如何用Java将日期格式化为25 May MON而非25 May Mon?
日期格式化:直接生成
25 May MON的可行方案 能不能直接格式化取决于你使用的日期处理工具/编程语言:
多数主流场景支持直接生成,无需拆分拼接:
比如Java中,可通过自定义DateFormatSymbols来指定大写的星期缩写,配合SimpleDateFormat一次性输出:Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("d MMM EEE"); DateFormatSymbols symbols = new DateFormatSymbols(); // 替换为大写的星期缩写数组(索引0留空,对应一周的第0天) symbols.setShortWeekdays(new String[]{"", "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}); sdf.setDateFormatSymbols(symbols); System.out.println(sdf.format(date)); // 输出示例:25 May MON再比如Python中,如果仅需星期部分大写,拆分处理也很简单:
from datetime import datetime date_part = datetime.now().strftime("%d %b") weekday_upper = datetime.now().strftime("%a").upper() final_str = f"{date_part} {weekday_upper}" # 得到 25 May MON若工具/库限制格式输出的大小写,那拆分格式化(先取
d MMM,再单独取EEE转大写后拼接)就是最稳妥的方案。
内容的提问来源于stack exchange,提问作者user924
相关产品推荐
相关产品推荐

