Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从CSV读取字符串并解析到日期_Java_String_Parsing_Date_Csv - Fatal编程技术网

Java 从CSV读取字符串并解析到日期

Java 从CSV读取字符串并解析到日期,java,string,parsing,date,csv,Java,String,Parsing,Date,Csv,我正在读取csv文件,并按如下方式存储字符串: date=st.nextToken(); 日期的格式是2014-09-17T12:06:00.0000000 z,因此我定义: SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX"); 当我尝试解析时 current_date=formatter.parse(date);

我正在读取csv文件,并按如下方式存储字符串:

                date=st.nextToken();
日期的格式是
2014-09-17T12:06:00.0000000 z
,因此我定义:

 SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX");
当我尝试解析时

                current_date=formatter.parse(date);
我得到一个例外:

java.text.ParseException: Unparseable date: "Date"
有什么想法吗?

你可以试试这个

Date date = DatatypeFactory.newInstance().newXMLGregorianCalendar(str).toGregorianCalendar().getTime();

对我来说,以下工作:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX");

    System.out.println(formatter.parse("2014-09-17T12:06:00.0000000Z"));
}
所以我想问题在别处。您收到的数据不是您预期的数据,或者某个地方有输入错误


在解析日期之前,请尝试打印所有日期,以便了解实际解析的日期。

由于出现异常
不可解析日期:“date”
,您确定没有在此处输入文本“date”,例如从.csv文件的标题行输入?(但请注意,毫秒字段中不能有7位数字)事实上,当您传递一个由您编写的字符串时,它会工作(我也尝试过…)。但是,当直接从CSV文件中读取它时,它不再工作了…@mbezunartea然后调试它。例如,在尝试解析日期之前,将这一行添加到代码中:
System.out.println(“尝试解析日期“”+您的日期变量+”)
这样您就可以准确地看到您试图解析的字符串。不要错过这些单引号,它们有助于发现字符串是否包含空格(在您的特定情况下并不有害)或不可打印的字符。