java - SimpleDateFormat 和一个奇怪的警告

标签 java android

这是带有“奇怪”警告的代码部分:

public void onTick(long millisUntilFinished) {
    tv.setText("" + new SimpleDateFormat("mm:ss").format(new Date( millisUntilFinished)));
}

警告是:

To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates.

这对我来说很奇怪,因为我使用 SimpleDateFormat 所以我不明白为什么避免警告的建议正是做它曾经做过的事情。此外,我在其他 Activity 中使用同样的东西,没有任何警告 所以我完全比较了两个代码,没有任何差异可以解释(上述两个 Activity 仅在一些常量名称上有所不同。)

此外,我想知道这是否意味着进一步的问题,因为顺便说一句,我的程序运行良好。

最佳答案

要删除警告,只需在实例化日期格式对象时添加 Locale.getDefault() 作为第二个参数。例如。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
                java.util.Locale.getDefault());

关于java - SimpleDateFormat 和一个奇怪的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32549720/

相关文章:

java - 使用数组在特定行预订电影票

java - 为什么我不能让用户提示变量是数组大小?

java - 如何在 Spring 中为(非静态)内部类定义一个 bean?避免循环依赖

java - 将变量从 Activity 传递到 AsyncTask

java - 按照创建摇动监听器的教程进行操作,但使用时遇到问题

java - JPA + Hibernate = EntityManager 没有持久性提供者

java - QueueManager 未连接,出现异常 : MQJE001:

java - 500, Retrofit 2 中的内部服务器错误

java - 问题模式/匹配器

javascript - React Native 没有从 JS 错误中得到有效的回调