gpt4 book ai didi

Java jsoup 日期解析异常

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

我正在尝试使用 jsoup 从网站获取日期,但在解析字符串(西里尔字符)并将其转换为日期格式后,出现异常:

java.text.ParseException: Unparseable date: "1 апреля 2018"
at java.text.DateFormat.parse(DateFormat.java:366)
at ru.skilanov.io.jobsparser.HtmlParser.convertDate(HtmlParser.java:116)
at ru.skilanov.io.jobsparser.HtmlParser.getDate(HtmlParser.java:105)
at ru.skilanov.io.jobsparser.HtmlParser.createJob(HtmlParser.java:64)
at ru.skilanov.io.jobsparser.HtmlParser.getAllJobs(HtmlParser.java:53)
at ru.skilanov.io.jobsparser.HtmlParser.main(HtmlParser.java:45)

转换方法:

private Date convertDate(String date){
Calendar calendar = Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
String str = String.format("%s %s", date, year);
DateFormat format = new SimpleDateFormat("d MMMM yyyy", new Locale("ru", "RU"));
try {
return format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}

日期解析方法:

private Date getDate(Element element){
String date = element.select(DATE_QUERY).text();
return convertDate(date);
}

更新已解决。

我通过拆分输入参数更改了 covertDate 方法:

    private Date convertDate(String date) {
Calendar calendar = Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
String str = String.format("%s %s %s", getDay(date), getMonth(date), year);
DateFormat format = new SimpleDateFormat("d MMMM yyyy");
try {
return format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}

getDay 方法:

    private String getDay(String date) {
return date.split("[\\u00A0\\s]+")[0];
}

获取月份方法:

    private String getMonth(String date) {
return date.split("[\\u00A0\\s]+")[1];
}

最佳答案

解决方案

我通过拆分输入参数更改了 covertDate 方法:

private Date convertDate(String date) {
Calendar calendar = Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
String str = String.format("%s %s %s", getDay(date), getMonth(date), year);
DateFormat format = new SimpleDateFormat("d MMMM yyyy");
try {
return format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;

}getDay 方法:

private String getDay(String date) {
return date.split("[\\u00A0\\s]+")[0];

}获取月份方法:

private String getMonth(String date) {
return date.split("[\\u00A0\\s]+")[1];

}

关于Java jsoup 日期解析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49598671/

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