Android SimpleDateFormat警告
Android Hai 人气:0一、代码:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
二、警告内容:
原文: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.
翻译:若要获取本地格式,请使用getDateInstance()、getDateTimeInstance()或getTimeInstance(),或者使用新的SimpleDataFormat(String template, Locale locale),例如将Locale.US用于ASCII日期。
三、原因分析:
使用 SimpleDateFormat(String pattern) 构造函数。这意味着使用默认语言环境,正如Android语言环境文档所说,要警惕使用默认语言环境,这可能会导致出现细微的错误。
四、解决方案:
方法一:
使用 SimpleDateFormat(String pattern, Locale locale) 构造函数。它将接受一个附加参数 - 你要使用的语言环境。如果你想以一致的方式确保输出是机器可读的(始终看起来相同,无论用户的实际语言环境如何),你可以选择 Locale.US。如果你不关心机器的可红性,你可以明确地将其设置为使用 Locale.getDefault()。
// for US SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss", Locale.US); // or for default SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
方法二:
使用 DateFormat 类中的 getDateInstance()、 getDateTimeInstance() 或 getTimeInstance() 方法。
链接:https://developer.android.com/reference/java/text/DateFormat
五、API
1、SimpleDateFormat:链接
2、DateFormat:链接
加载全部内容