You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将日期从英文数字转换为阿拉伯数字?Java代码实现咨询

实现阿拉伯数字日期输出的解决方案

当然可以!你想要的效果完全可以通过指定对应的Locale来实现,而且非常直接。

核心思路

SimpleDateFormat会根据你传入的Locale自动适配数字和日期格式,所以只需要给它指定一个使用阿拉伯数字的阿拉伯语地区Locale即可,比如沙特阿拉伯的Locale(ar-SA),它会默认使用阿拉伯-indic数字(也就是١٢٣这种形式)。

修改后的代码示例

// 给SimpleDateFormat传入沙特阿拉伯Locale,输出阿拉伯数字日期
frame.sigdate.setText(new SimpleDateFormat("yyyy/M/d", new Locale("ar", "SA")).format(new Date()));

如果你使用的是Java 8及以上版本,更推荐使用更现代的DateTimeFormatterAPI,用法类似:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

// Java 8+ 版本的实现
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/M/d", new Locale("ar", "SA"));
frame.sigdate.setText(formatter.format(LocalDate.now()));

补充说明

  • 如果你尝试Locale.ARABIC(不带地区),部分环境下可能还是会输出拉丁数字(123),所以指定具体地区(比如SA代表沙特阿拉伯)能更稳定地得到阿拉伯数字格式。
  • 不同阿拉伯语地区的Locale可能有细微差异,ar-SA是比较通用的选择,如果你需要其他地区的格式,可以调整地区代码(比如ar-EG对应埃及)。

内容的提问来源于stack exchange,提问作者Sana'a Ala'a

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:50:24