【发布时间】:2015-08-21 15:57:03
【问题描述】:
我正在通过 opencsv 从 csv 文件导入数据以插入 mysql 数据库。 opencsv 作为字符串导入,对于数据库中的 1 个字段,我需要将其解析为日期格式:yyyy-MM-dd。但是我收到一个错误。
// This is the string that I have extracted from the csv file
String elem1 = nextLine[0];
// printing out to console I can see the string I wish to convert
System.out.println(elem1); => 2015-08-14
// Below is my code to parse the date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date convertedCurrentDate = sdf.parse(elem1);
String date=sdf.format(convertedCurrentDate );
// printing date to console gives me 2015-08-14
System.out.println(date);
如上所述,将日期打印到控制台给了我 2015-08-14。但是我得到了错误:
java.text.ParseException: Unparseable date: ""
有人可以就我做错了什么给我一些建议吗?
'java.util.Date convertCurrentDate = sdf.parse(elem1);'这一行是导致错误的行。
谢谢!
【问题讨论】:
-
你能指出是哪一行导致了错误吗?是不是:java.util.Date convertCurrentDate = sdf.parse(elem1);谢谢
-
嘿堆栈播放器。是的,就是这样。我已经编辑了原始问题以包含该详细信息。
-
那么
elem1在那个时候显然是一个空白字符串(很明显,因为错误消息是这样说的)。 -
您使用的是什么版本的 Java?我知道这可能不是这里的问题,但在 Java7 文档中我没有看到 parse(String) only parse(string, Parseposition) ? docs.oracle.com/javase/7/docs/api/java/text/…(编辑和 Java6 & 8)
-
嘿安德烈亚斯,好的,但是我在解析代码之前打印了 elem1 的值,它是正确的。我还在解析代码之后打印日期变量,它也给了我日期。所以我不明白这是一个空白字符串。
标签: java date opencsv string-to-datetime