问题描述
我将假设@H_404_1@Locale.getDefault()对您来说是pl-PL因为您似乎在波兰。
因此,日期字符串中的英语单词会导致无法解析的日期。
一个合适的波兰日期String可能是这样的
@H_404_1@"Wt paź 16 00:00:00 -0500 2013"
否则,将更@H_404_1@Locale改为,@H_404_1@Locale.ENGLISH以便@H_404_1@SimpleDateFormat对象可以String用英语单词解析日期。
该日期类主要是过时了,所以我建议不要使用。
也许考虑使用类似于ZonedDateTime类的方法来解决您的问题。
如果您只需要等待5个小时String,就可以使用以下方法:
@H_404_1@String time = "Fri Jun 22 09:29:29 NPT 2018"; DateTimeFormatter format = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz uuuu"); ZonedDateTime zdt = ZonedDateTime.parse(time, format); System.out.println(zdt.minusHours(5));
解决方法
我在日期解析示例日期上遇到了问题:
SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy",Locale.getDefault());
parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
有例外
确实我想将此格式日期解析为yyyy-MM-dd我尝试:
SimpleDateFormat parserSDF = new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
采取:java.text.ParseException:无法解析的日期:“ 2013年10月16日星期三00:00:00 CEST”
好的,我更改为并工作:
SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy",Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");