Java 字符串到日期转换中出现异常
使用以下代码解析2013年7月10日星期四的日期有什么错误Java 字符串到日期转换中出现异常,java,Java,使用以下代码解析2013年7月10日星期四的日期有什么错误 Date parse = new SimpleDateFormat("EEE d M yyyy").parse("Thu 10 July 2013"); 它为我们工作 new SimpleDateFormat("EEE M yyyy").parse("Thu July 2013"); 但是如果我在字符串中输入day(d),那么它将抛出以下异常 new SimpleDateFormat("EEE d M yyyy").parse("T
Date parse = new SimpleDateFormat("EEE d M yyyy").parse("Thu 10 July 2013");
它为我们工作
new SimpleDateFormat("EEE M yyyy").parse("Thu July 2013");
但是如果我在字符串中输入day(d),那么它将抛出以下异常
new SimpleDateFormat("EEE d M yyyy").parse("Thu 10 July 2013");
java.text.ParseException: Unparseable date: "Thu 10 July 2013"
感谢您的帮助使用
dd
代替d
,也使用MMM代替MM:
new SimpleDateFormat("EEE dd MMM yyyy").parse("Thu 10 July 2013");
使用
dd
代替d
,也使用MMM代替MM:
new SimpleDateFormat("EEE dd MMM yyyy").parse("Thu 10 July 2013");
尝试将格式扩展为类似于
EEE d MMMM yyyy
一个或两个M
将被中断作为数字月份值(即{0}7
),MMM
将被中断作为短月份名称(即Jul
),而MMMM
将被中断作为完整月份名称(即July
)
还应该注意的是,在我的测试中,
MMM
和MMMM
似乎有效尝试将格式扩展为类似于EEE d MMMM yyyy
一个或两个M
将被中断作为数字月份值(即{0}7
),MMM
将被中断作为短月份名称(即Jul
),而MMMM
将被中断作为完整月份名称(即July
)
还应该注意的是,在我的测试中,MMM
和MMMM
似乎起了作用我尝试了
new SimpleDateFormat("EEE d M yyyy").parse("Thu 10 July 2013");
无法工作,因此我将月份格式更改为MMMM
Date parse = new SimpleDateFormat("EEE MMMM yyyy").parse("Thu July 2013");
Date p1 = new SimpleDateFormat("EEE d MMMM yyyy").parse("Thu 10 July 2013");
System.out.println(p1);
这起作用了。我试着
new SimpleDateFormat("EEE d M yyyy").parse("Thu 10 July 2013");
无法工作,因此我将月份格式更改为MMMM
Date parse = new SimpleDateFormat("EEE MMMM yyyy").parse("Thu July 2013");
Date p1 = new SimpleDateFormat("EEE d MMMM yyyy").parse("Thu 10 July 2013");
System.out.println(p1);
这正在工作。我尝试了这个,但它会导致运行时异常
java.util.Date dt = new SimpleDateFormat("EEE M yyyy").parse("Thu July 2013");
根据java文档
如果要使用月份名称(如July或Jul来解析日期字符串,则应分别使用MMMM或MMM
如果要分析包含月数的日期,可以使用M或MM。(“2012年8月28日”)
对于您的情况,您应该使用MMM或MMMM而不是像这样的M
new SimpleDateFormat("EEE d MMM yyyy").parse("Thu 10 July 2013");
或
我尝试了这个,但它导致运行时异常
java.util.Date dt = new SimpleDateFormat("EEE M yyyy").parse("Thu July 2013");
根据java文档
如果要使用月份名称(如July或Jul来解析日期字符串,则应分别使用MMMM或MMM
如果要分析包含月数的日期,可以使用M或MM。(“2012年8月28日”)
对于您的情况,您应该使用MMM或MMMM而不是像这样的M
new SimpleDateFormat("EEE d MMM yyyy").parse("Thu 10 July 2013");
或
new SimpleDateFormat(“EEE M yyyy”).parse(“2013年7月4日”)
实际上对我不起作用,它会抛出一个不可解析的日期:“2013年7月4日”
新SimpleDateFormat(“EEE M yyyy”).parse(“2013年7月4日”);新的SimpleDateFormat(“EEE M yyyy”)不起作用。解析(“2013年7月4日”)实际上对我不起作用,它会抛出一个不可解析的日期:“2013年7月4日”例外新的SimpleDateFormat(“EEE M yyyy”)。解析(“2013年7月4日”);“技术上”不起作用“dd
不需要它才能起作用;)但事实并非如此。d或dd,问题是使用M.“技术上”dd
不需要这样做;)但事实并非如此。d或dd,问题是使用M。