当前位置: 首页 > 知识库问答 >
问题:

使用 OpenCsv 解析 Instant

丁文轩
2023-03-14

我正在尝试使用OpenCsv从CSV解析即时,如下所示:

@CsvDate("yyyy-MM-dd hh:mm:ss")
@CsvBindByName(column = "date")
private Instant date;

我知道OpenCsv应该支持< code>java.time。

但是当我试图使用它的时候,我得到了下面的异常:

分析CSV行时出错:8。

...

原因:java.time.format。DateTimeParseException:无法解析文本“2022-04-21 00:00:00”:无法从临时加速器获取即时数据:{HourOfAmPm=0,microofsec=0,nanoofs秒=0,毫秒=0,分钟ofhour=0,秒ofminute=0},ISO解析为2022-4-21,类型为java.time.format.parsed

...

原因:java.time。DateTimeException:无法从TemporalAccessor获取即时信息:{HourOfAmPm=0,MicroOfSecond=0、NanoofSeconds=0,MilliofsSecond=0,MinuteOfHour=0,SecondOfMinute=0},ISO解析为2022-04-21,类型为java.time.format.Parsed

...

原因:java.time.temporal.UnsupportedTemporalTypeException:不支持的字段:即时秒

根据我的调查,根本原因是缺少时区,但我的问题是如何仅使用注释指定时区?

共有1个答案

夏晋
2023-03-14

请参阅日期时间格式。24小时时间(0-23)应为HHi. o.hh表示12小时时间(1-12)。错误是由小时“00”引起的。幸运的是,否则您将只有一天的前半部分。

参见 h、k、H 和 K。

Instant不使用秒之类的单位,在内部更像长。使用LocalDateTime作为您的格式。

 类似资料:
  • 我有一个CSV文件,我想用开放CSV的csv阅读器在Java中解析。 为此,我创建了一个Bean对象,信息映射到该对象。我的有点长,所以这是我从教程中得到的一个例子: 我用来解析CSV文件并将信息映射到bean的代码类似于以下代码: 问题在于,我的CSV不仅包含原始数据,还包含列标题和其他数据。对于专栏标题,我只从某行读取我的文件,解决了这个问题: (1 是开始读取的行) 其他数据主要是文件末尾(

  • 问题内容: 我正在尝试在NetBeans 6.0.1中使用OpenCSV解析.csv文件。我的文件包含一些Unicode字符。当我在输出中写入字符时,字符以其他形式显示,例如(HJ1’-E /;)。当我在记事本中打开此文件时,它看起来还可以。 我使用的代码: 问题答案: 首先,您需要知道文件的编码格式,例如UTF-8或UTF-16。生成此文件的原因是什么? 在那之后,它相对简单- 您需要创建一个包

  • 我正在使用OpenCsv为我的Android应用程序解析.csv文件。我用 kotlin 编写代码。这是我的代码: 我是这样解析csv文件的: 这是我要将csv数据转换为的对象类。 } 我已经在build.gradle文件中添加了这一行: 这是我的csv文件内容: G T,11111 11111 H K,2222222222 KK,33333 33333 P K,44444 44444 但是当我运

  • 我试图使用opencsv 3.3与一些用户解析一个简单的csv文件并将其放入bean中,但在运行代码时得到一个类未找到异常。下面是我用于读取对象的Person.class文件。 读取 csv 的代码如下。 当我运行这个时,它表示没有找到报头映射的类。你知道这个人是否有问题吗。类还是使用映射?如果您能提供任何帮助,我们将不胜感激。

  • 我正在尝试使用OpenCSV解析CSV文件。其中一列以YAML序列化格式存储数据,并被引用,因为其中可以包含逗号。它里面也有引号,所以它通过放两个引号来转义。我能够在Ruby中轻松解析这个文件,但使用OpenCSV我无法完全解析它。这是一个UTF-8编码的文件。 这是我的Java片段,它试图读取文件 这是此文件中的2行。第一行没有被正确解析,并且在处被拆分,因为我猜是转义双引号。

  • 我有以下csv文件, 我无法用opencsv jar读取上述csv文件。它无法读取,因为数据中有双引号。我的csv阅读器构造函数如下所示:,