gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:17:57 34 4
gpt4 key购买 nike

我需要担心这个警告吗?如果我忽略警告怎么办?
这个警告是什么意思:
要获取本地格式,请使用 getDateInstance()getDateTimeInstance()getTimeInstance(),或使用 new SimpleDateFormat(String template, Locale locale),例如 Locale.US 用于 ASCII 日期。
在下面代码的第二行。该应用程序与代码一起正常工作。我想显示日期,例如 2014 年 11 月 19 日

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;
}

我认为这是格式化日期的正确方法,如图所示 here .

最佳答案

您目前正在使用 SimpleDateFormat(String)构造函数。这意味着默认语言环境,正如语言环境文档告诉您的那样,be wary of the default locale因为可以在各种系统上产生意想不到的输出。

您应该改用 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());

关于java - SimpleDateFormat 警告 要获取本地格式,请使用 getDateInstance()、getDateTimeInstance() 或 getTimeInstance(),,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27023189/

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