多语言环境下,使用SimpleDateFormat格式化时间字符串的时候,不能正确显示阿拉伯数字

本文讨论了在不同语言环境下使用SimpleDateFormat进行日期格式化时遇到的问题,并提供了解决方案。通过在SimpleDateFormat构造函数中添加Locale参数,可以确保日期正确显示为所需的语言格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中遇到过系统有多语言应用的环境,当系统语言设置为阿拉伯语等其他部分语言的时候,使用SimpleDateFormat格式化时间即:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now=new Date();
System.out.println(sdf .format(now));

这时候得到的字符串显示为:٢٠١٥-٠٩-١٨ ٠٧:٠٣:٤٩

这个明显不是我想要的结果,查阅资料发现,SimpleDateFormat有一个构造函数是带Locale参数的,于是在构造函数中添加一个Locale参数:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINA);
指定一下语言环境,这样得到的字符串就为:2015-09-18 07:10:45


参考链接:

SimpleDateFormat语言环境

使用SimpleDateFormat顺利解析日期

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值