SimpleDateFormat警告:要获取本地格式,请使用getDateInstance(),getDateTimeInstance()或getTimeInstance(),

穆罕默德·阿里

我是否需要担心此警告?如果我忽略该警告怎么办?
这是什么警告表示:
为了让本地格式使用getDateInstance()getDateTimeInstance()getTimeInstance(),或使用new SimpleDateFormat(String template, Locale locale)与例如Locale.US用于ASCII日期。
在下面的代码的第二行。该应用程序可以正常工作的代码。我想显示日期,例如19 Nov 2014

public static String getFormattedDate(long calendarTimeInMilliseconds) {
    SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy");  //ON THIS LINE
    Date now = new Date();
    now.setTime(calendarTimeInMilliseconds);
    String strDate = sdfDate.format(now);
    return strDate;
}

我觉得这是如图所示的正确的方式来格式化日期这里

瓦尔特·詹森斯

您当前正在使用SimpleDateFormat(String)构造函数。这意味着使用默认语言环境,并且正如“语言环境”文档告诉您的那样,请警惕默认语言环境,因为可能在各种系统上产生意外的输出。

您应该改用SimpleDateFormat(String,Locale)构造函数。它将接受一个附加参数-您要使用的语言环境。如果要确保输出以一致的方式是机器可读的(无论用户的实际语言环境如何,总是看起来相同),则可以选择Locale.US如果您不关心计算机的可复制性,则可以将其显式设置为使用Locale.getDefault()

在示例代码中使用这些代码将如下所示:

// for US
SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy", Locale.US);

// or for default
SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy",
        Locale.getDefault());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档