我正在尝试在我的 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/