start_date=2019-03-03T21:25:24.000Z&end_date=2019-03-03T21:25:29.000Z
@GetMapping("/terminals")
public ResponseEntity<Map<Integer, List<TopTerminalsDTO>>> getTopTerminals(
@RequestParam(value = "start_date", required = true) String start_date,
@RequestParam(value = "end_date", required = true) String end_date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS");
LocalDateTime start_dateTime = LocalDateTime.parse(start_date, formatter);
LocalDateTime end_dateTime = LocalDateTime.parse(end_date, formatter);
final List<PaymentTransactionsDailyFacts> list = dashboardService.findTop_Terminals(start_dateTime, end_dateTime);
2019-03-10 13:22:46,677 INFO [stdout] (default task-1) 13:22:46.676 [default task-1] ERROR o.s.b.w.s.support.ErrorPageFilter - Forwarding to error page from request [/dashboard/terminals] due to exception [Text '2019-03-03T21:22:39.000Z' could not be parsed, unparsed text found at index 23]
2019-03-10 13:22:46,678 INFO [stdout] (default task-1) java.time.format.DateTimeParseException: Text '2019-03-03T21:22:39.000Z' could not be parsed, unparsed text found at index 23
2019-03-10 13:22:46,678 INFO [stdout] (default task-1) at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2049)
2019-03-10 13:22:46,678 INFO [stdout] (default task-1) at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)
2019-03-10 13:22:46,679 INFO [stdout] (default task-1) at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:492)
2019-03-10 13:22:46,679 INFO [stdout] (default task-1) at deployment.datalis_admin.war//org.datalis.admin.backend.restapi.DashboardController.getTopTerminals(DashboardController.java:87)
2019-03-10 13:22:46,679 INFO [stdout] (default task-1) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
LocalDateTime start_dateTime = LocalDateTime.parse(start_date, DateTimeFormatter.ISO_INSTANT);
LocalDateTime end_dateTime = LocalDateTime.parse(end_date, DateTimeFormatter.ISO_INSTANT);
我得到:23:15:21,554 INFO[stdout](默认任务-3)java.time.format.dateTimeParseException:无法解析文本'2019-03-19t23:15:14.000z':无法从TemporalAccessor获取LocalDateTime:{nanofsecond=0,instantseconds=1553037314,microofsecond=0,millifsecond=0},java.time.format.parsed
类型的ISO
这是因为根据您的dateTimeFormatter
start_date无效。在日期的最后有z
是不可取的。
你有两个选择。
start_date
&end_date
中删除z
字符。DateTimeFormatter
以接受ZoneOffset。DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX");
LocalDateTime start_dateTime = LocalDateTime.parse("2019-03-03T21:25:24Z", DateTimeFormatter.ISO_INSTANT);
输入文本为2020年2月20日 以下代码块抛出,其中包含无法分析的消息文本“28Feb2020”,在索引7中找到未分析的文本:
我正在开发新闻应用程序,我已经将从现在到那个日期的运行时间进行了转换,但当我运行代码时,我的适配器类中出现了以下异常 JAVA时间总体安排DateTimeParseException:无法在索引0处分析文本“09/10/2019”,无法在索引19处找到未分析的文本 低于我的适配器类 以下是JSON响应:
下面是我的字符串:convertdate:'2016-08-18 14:27:15.103+02' 和我的代码: 我想不是太复杂,买我看不出错误。字符串中的+02可能是原因吗?
我的日期时间必须来自前端,具有时区偏移量: 我不能把它和杰克逊反序列化。错误是: