gpt4 book ai didi

java - 使用 DateFormat.getDateInstance 在 java 中进行日期本地化

转载 作者:行者123 更新时间:2023-12-01 17:31:00 24 4
gpt4 key购买 nike

我有一个必须本地化的日期。下面的代码返回 5/1/12 19:06:34 但我想要的结果是 05/01/12 19:06:34您能告诉我如何管理这个问题吗?

  private String localizeDate(String date){ //Format is 2012-05-01 19:30:49

Locale loc = DataContextHolder.getDataContext().getLocale();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", loc);

Date parsed=null;
try {
parsed = formatter.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, loc);

String localizedDate = df.format(parsed) + " " + date.substring(11, 13) + ":"
+ date.substring(14, 16) + ":"
+ date.substring(17, 19);

return localizedDate;
}

最佳答案

您可以通过减少该特定元素的连续模式字母的数量来避免前导零。连续的多个模式字母告诉日期格式化程序,您至少需要那么多字符来表达该值。

在您的示例中,以下内容应该可以解决您的问题。

new SimpleDateFormat("y-M-d H:m:s", loc);

the SimpleDateFormat documentation 中查找更多信息.

为清楚起见,请参阅以下示例。

SimpleDateFormat a = new SimpleDateFormat("yyyyy-MMMM-dddd HHH:mmmm:sssss");
SimpleDateFormat b = new SimpleDateFormat("y-M-d H:m:s");

System.out.println(a.format(new Date()));
// Prints 02012-June-0005 012:0027:00026
System.out.println(b.format(new Date()));
// Prints 12-6-5 12:27:26

关于java - 使用 DateFormat.getDateInstance 在 java 中进行日期本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10900956/

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