Android AM/PM 的日期格式因设备而异
Android DateFormat for AM/PM differs between devices
我正在像这样格式化日期:
public static String toFormattedDate(@NonNull Time time, String toFormat) {
mDateFormat = new SimpleDateFormat(toFormat);
Date date = new Date();
date.setTime(time.toMillis(true));
return mDateFormat.format(date);
}
我使用的格式是:
public static final String TIME = "hh:mm a";
但我用于测试的两个设备之间存在差异...
联系 10:
连结 5X:
如何在设备之间统一格式化?
您可能必须使用 24 小时值来确定要附加的内容,以便您可以添加所需的格式。
public static final String TIME = "hh:mm";
然后
String ampm = Integer.parseInt(time.valueOf("hh")) >= 12 ? "PM" : "AM";
...
return mDateFormat.format(date)+" "+ampm;
或者如果你觉得懒惰,你可以不改变 TIME 的值:
return mDateFormat.format(date).toUpperCase().replace(".","");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String currentDateandTime = sdf.format(new Date());
我正在像这样格式化日期:
public static String toFormattedDate(@NonNull Time time, String toFormat) {
mDateFormat = new SimpleDateFormat(toFormat);
Date date = new Date();
date.setTime(time.toMillis(true));
return mDateFormat.format(date);
}
我使用的格式是:
public static final String TIME = "hh:mm a";
但我用于测试的两个设备之间存在差异...
联系 10:
连结 5X:
如何在设备之间统一格式化?
您可能必须使用 24 小时值来确定要附加的内容,以便您可以添加所需的格式。
public static final String TIME = "hh:mm";
然后
String ampm = Integer.parseInt(time.valueOf("hh")) >= 12 ? "PM" : "AM";
...
return mDateFormat.format(date)+" "+ampm;
或者如果你觉得懒惰,你可以不改变 TIME 的值:
return mDateFormat.format(date).toUpperCase().replace(".","");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String currentDateandTime = sdf.format(new Date());