这是带有“奇怪”警告的代码的一部分:
public void onTick(long millisUntilFinished) {
tv.setText("" + new SimpleDateFormat("mm:ss").format(new Date( millisUntilFinished)));
}
警告是:
要获取本地格式,请使用getDateInstance(),getDateTimeInstance()或getTimeInstance(),或使用新的SimpleDateFormat(String模板,Locale语言环境),例如Locale.US用于ASCII日期。
对我来说这很奇怪,因为我使用的是SimpleDateFormat,所以我不明白为什么避免警告的建议完全是为了做它曾做过的事情。而且,我在其他活动中使用相同的东西而没有任何警告 所以我完全比较了两个代码,并没有可以解释的差异(前面提到的两个活动只有一些不变的名称不同。)
此外,我想知道它是否可能意味着进一步的问题,因为我的程序顺便说一句。
答案 0 :(得分:0)
要删除警告,只需在实例化日期格式对象时添加Locale.getDefault()作为第二个参数。例如
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
java.util.Locale.getDefault());