根据设备区域设置格式化Date对象的时间

时间:2017-12-12 22:53:23

标签: java android

根据语言环境设备设置,我需要格式化日期时间:

16:18

4:18 PM

我尝试了这段代码,因为SimpleDateFormat应该使用那些语言环境设备设置。

SimpleDateFormat localTimeFormat = new SimpleDateFormat("HH:mm");
localTimeFormat.format(startDate);
result = localTimeFormat.format(startDate));

在我设置了NA设置的手机上,我仍然可以16:18

我知道我可以添加Am/pm marker 'a',但正如我所说,我希望这是可变的。

1 个答案:

答案 0 :(得分:0)

使用DateFormat.getTimeFormat(Context)获取DateFormat个实例,并使用它来格式化日期,而不是创建自己的格式。这将从设备设置中尊重用户的区域设置和24小时时间偏好。

文档:https://developer.android.com/reference/android/text/format/DateFormat.html#getTimeFormat(android.content.Context)

示例:

Date date = new Date();
String text = DateFormat.getTimeFormat(MainActivity.this).format(date);