Android Calendar DateFormat区域行为

时间:2016-07-29 12:14:41

标签: android date time calendar

在我的Android应用程序中,我使用以下代码获取时间和日期:

Calendar calendar = Calendar.getInstance();
String date = DateFormat.getDateInstance().format(calendar.getTime());
String time = DateFormat.getTimeInstance().format(calendar.getTime());

在我的Galaxy Note 4中,我得到了:

  • 日期:29.07.2016
  • 时间:14:10:3​​0

华为Mate 8:

  • 日期:29.07.2016
  • 时间:02:10:3​​0 nachm(意思是下午)。

在某些客户设备上,它有更多格式。

所以,我的问题是如何以相同的格式在所有设备和区域上获取日期和时间?

我希望 dd.mm.yyyy 用于日期, hh:mm:ss 用于时间。

2 个答案:

答案 0 :(得分:2)

一个选项是SimpleDateFormat

Calendar calendar = Calendar.getInstance();

SimpleDateFormat dataFormater = new SimpleDateFormat();

dataFormater.applyPattern("dd.MM.yyyy");
String date = dataFormater.format(calendar.getTime());

dataFormater.applyPattern("hh:mm:ss");
String time = dataFormater.format(calendar.getTime());

答案 1 :(得分:1)

我认为日期对您来说没关系所以您必须手动设置日历中的时间格式,如下所示。



public static final String TIME_FORMAT = "hh:mm:ss";
SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_FORMAT);

Calendar ATime = Calendar.getInstance();
String Timein12hourFormat = TimeFormat.format(ATime.getTime());




愿这对你有所帮助。让我知道。