gpt4 book ai didi

java - SimpleDateFormat.getTimeInstance 忽略 24 小时格式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:02 28 4
gpt4 key购买 nike

在我的应用程序中,我可以选择暂停执行一段时间。我想显示恢复执行的时间,包括秒数,我希望根据系统设置格式化时间字符串。这是我想出的代码:

long millis = getResumeTime();
String timeString;
timeString = SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM).format(millis);

这确实会生成带秒的格式化字符串,但它会返回 AM/PM 格式的时间,即使我在设置中设置了 24 小时时间格式。更有趣的是,系统托盘中的时间使用 24 小时格式正确格式化。

我试过像这样使用 DateFormat.getTimeFormat:

long millis = getResumeTime();
String timeString;
java.text.DateFormat df = android.text.format.DateFormat.getTimeFormat(this);
timeString = df.format(millis);

但是生成的字符串不包含秒,而且我看不到包含它们的方法。

我在 Android 4.2 模拟器上运行这段代码。我在这里错过了什么吗? SimpleDateFormat 不知道 12/24 小时设置吗?如果不是,我如何获得系统格式的时间字符串表示(包括小时、分钟和秒)?

最佳答案

更简单的解决方案是:

String timeString = DateUtils.formatDateTime(getContext(), timeInMillis,
DateUtils.FORMAT_SHOW_TIME);

这可以正确处理 12/24 小时用户设置。

关于java - SimpleDateFormat.getTimeInstance 忽略 24 小时格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15981516/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com