我的代码有这个异常:
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="214b4057400f554459550f72484c514d4465405544674e534c4055611513444414154b4057400f554459550f7140535244645942445155484e4f" rel="noreferrer noopener nofollow">[email protected]</a>: Unparseable date: "Fri Dec 25 02:00:00 EET 2020"
@PostMapping
public ResponseEntity<?> addEvent(@Valid @RequestBody Event event) {
try {
SimpleDateFormat format1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
format1.parse(String.valueOf(event.getDate()));
format1.setLenient(false);
eventService.save(event);
return new ResponseEntity<>(event, HttpStatus.CREATED);
} catch (IllegalArgumentException | ParseException e) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
}
由于日期格式定义正确。这里可能出了什么问题? 提前致谢。
最佳答案
您必须设置区域设置,如下所示:
SimpleDateFormat format1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
因为您的输入字符串中有Fri Dec,并且您的默认区域设置可能不是英语
关于java - 如何正确解析SimpleDateFormat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60813716/