Android - Calendar.getInstance 的小时值设置为零

标签 android android-calendar

我正在尝试在我的 Java 代码中查找当前时间。

Calendar cal = Calendar.getInstance();
    Date currentLocalTime = cal.getTime();
    DateFormat date = new SimpleDateFormat("HH:mm a");
    String localTime = date.format(currentLocalTime);
    ((TextView) (mainView.findViewById(R.id.l1))).setText(localTime);

出于某种原因,textview 显示 01:08 AM 而不是 8:08 PM。

最佳答案

如果您想要 12 小时制(晚上 8:08 而不是晚上 20:08),请确保将您的 HH 更改为 hh,如下所示:

DateFormat date = new SimpleDateFormat("hh:mm a");

这并不能解释为什么您会看到 01:08 AM,但这是一个开始。我在我的系统上尝试了完全相同的代码,时间显示正确。所以,我不确定你的问题出在哪里。我的猜测是您的系统时钟设置不正确,或者更可能是您遇到了日历和日期库的奇怪问题。如果您继续遇到问题,我建议您切换到 Joda-Time图书馆。它很棒,它修复了您在使用日期和日历库时会遇到的所有小问题。

关于Android - Calendar.getInstance 的小时值设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51470476/

相关文章:

android - 是否可以以编程方式添加提醒而不在 Android 日历中创建事件?

android - 找不到处理 Intent 的 Activity { act=android.intent.action.EDIT typ=vnd.android.cursor.item/event

java - 重新打开应用程序时恢复计时器

android - Ionic Cordova 文件插件权限被拒绝

java - 具有多个适配器和 View 类型的 Recycler View 不工作

java - 将国际字符从 MySQL 输出到 Java/Android

java - 下周在android上实现

android - 自定义日历 View

android - 如何在 Android 的 ViewPager 中使用 viewpagerindicator?

android - Android 中的 RecyclerView 在没有任何错误消息的情况下无法正常工作