gpt4 book ai didi

java - 在java中将字符串解析为日期格式默认日期为1,月份为1月

转载 作者:行者123 更新时间:2023-11-30 06:11:57 30 4
gpt4 key购买 nike

我正在尝试接受用户输入的日期格式如下:“2000 小时,星期四,2015 年 7 月 20 日”。然后我会将其转换为日期格式以对其进行操作。但是从字符串到日期的转换默认月份为一月,日期为 1。这是代码片段:

    String userDateFormat = "HHmm 'hrs', EEEE, MMMM dd, YYYY";
SimpleDateFormat userDateFormatter = new SimpleDateFormat(userDateFormat);
String reference_date = "2000 hrs, Thursday, July 20, 2015";

Date date = null;
try {
date = userDateFormatter.parse(reference_date);
} catch (ParseException e) {
System.out.println("Date must be in the format " + userDateFormat);
}

System.out.println(userDateFormatter.format(date));

以下方法 block 打印:2015 年 1 月 1 日,星期四,2000 时。有什么线索吗?

最佳答案

因为您在需要 yyyy 时使用了 YYYY,而 2015 年 7 月 20 日是星期一。你想要类似的东西

String userDateFormat = "HHmm 'hrs', EEEE, MMMM dd, yyyy";
SimpleDateFormat userDateFormatter = new SimpleDateFormat(
userDateFormat);
String reference_date = "2000 hrs, Monday, July 20, 2015";

然后输出

2000 hrs, Monday, July 20, 2015

然后 SimpleDateFormat Javadoc 说(部分)

Letter    Date or Time Component  Presentation    Examples
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09

关于java - 在java中将字符串解析为日期格式默认日期为1,月份为1月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33427670/

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