我正在像这样格式化日期:

    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";

但这在我用于测试的两个设备之间有所不同...

Nexus 10:
java - 适用于AM/PM的Android DateFormat在设备之间有所不同-LMLPHP

Nexus 5X:
java - 适用于AM/PM的Android DateFormat在设备之间有所不同-LMLPHP

如何在设备之间统一格式化?

最佳答案

您可能必须使用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(".","");

10-02 05:03