gpt4 book ai didi

java - Spring - DateFormat 未正确格式化中国的日期

转载 作者:行者123 更新时间:2023-11-30 08:15:09 28 4
gpt4 key购买 nike

我有一个类(class)正在准备 db 格式 的日期如 2015 年 2 月 13 日到 2015 年 2 月 13 日。不幸的是,这个功能适用于英语、法语,但不适用于中文。

这是我得到的:

public class DateFormatTag extends TagSupport {
@Override
public int doStartTag() throws JspException {
out.println(dateFormat(getInput()));
}

public String dateFormat(String input) throws ParseException {
Locale locale = new Locale("cn", "zh");
DateFormat df = new SimpleDateFormat("yyyy/MM/dd", locale);
Date date = df.parse(input);
SimpleDateFormat returnFormat = new SimpleDateFormat("dd MMMMM yyyy", locale);
return returnFormat.format(date);
}

为了测试,我故意硬编码了中文语言环境。输入格式为:2015/02/15 (yyyy/mm/dd)。

我找不到更好的解决方案来解决这个问题。任何建议将不胜感激。

该解决方案可以在 Joda Time 或 Java 嵌入式类中提供。

最佳答案

对于您的输入格式,您不必使用区域设置构造 SimpleDateFormat
对于输出,您应该阅读 the doc for Locale

DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date date = df.parse(input);
SimpleDateFormat returnFormat
= new SimpleDateFormat("dd MMMMM yyyy", Locale.CHINA);
// or Locale.CHINESE, Locale.PRC, all work on my machine
return returnFormat.format(date);

关于java - Spring - DateFormat 未正确格式化中国的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766049/

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