android - 如何检查系统是 12 小时还是 24 小时?

标签 android time locale

我正在尝试确定当前区域设置为 12 小时还是 24 小时,并相应地设置 am/pm。这是我现在得到的,但无论是否设置为 24,它都始终显示 am/pm。

if (DateFormat.is24HourFormat(this))
{
    mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
    int hourOfDay = mHour;
    if (hourOfDay>12)
        views.setTextViewText(R.id.AMPM, "pm");
    if (hourOfDay==12)
        views.setTextViewText(R.id.AMPM, "pm");
    if (hourOfDay<12)
        views.setTextViewText(R.id.AMPM, "am");
}
else {
    views.setTextViewText(R.id.AMPM, "");           
}

最佳答案

不应该

if (!DateFormat.is24HourFormat(this))

您只想在未设置为 24 小时格式时分配 am/pm,对吗?

这是一个更紧凑的版本:

if (!DateFormat.is24HourFormat(this)) {
    mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
    int hourOfDay = mHour;
    if (hourOfDay >= 12) {
        views.setTextViewText(R.id.AMPM, "pm");
    } else {
        views.setTextViewText(R.id.AMPM, "am");
    }
} else {
    views.setTextViewText(R.id.AMPM, "");
}

关于android - 如何检查系统是 12 小时还是 24 小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392636/

相关文章:

android - 临时绕过ListView滚动

android - 获取时钟时间的最后一个数字作为整数

c编程获取sleep后tty的修改时间

java - 如何设置节目时间(以秒为单位)?

java - 从 'fr_FR' 类型语言代码转换为 ISO 639-2 语言代码

android - 在 build.gradle 中实现 uz.shift :colorpicker:0. 5

Android - Material 设计 : tabstrip with sliding tab (titles)

python - f 字符串中的整数表示类型不返回预期格式

java - 为什么我无法在手机中安装应用程序。 Redmi 7s 已连接,但在 Android Studio 中未显示安装应用程序。为什么?

ios - 根据选择的货币代码格式化货币而不考虑设备的语言环境 (Swift)