Java:如何以'yyyymmddhhmmsttt'格式解析时间?

Java:如何以'yyyymmddhhmmsttt'格式解析时间?,java,datetime,string-parsing,datetime-parsing,Java,Datetime,String Parsing,Datetime Parsing,我正在尝试读取csv文件的行。每行表示一个日志历史记录,时间戳位于第1列。时间戳的形式始终为yyyymmddhhmmsttt(毫秒) 但是,我不知道如何以yyyymmddhhmmsttt的格式解析时间,并使其成为我正在创建的类的实例变量。事实上,我不确定在这种情况下应该是什么类型 那么,我应该如何以yyyymmddhhmmsttt的格式进行解析时间,即20180301093559127?谢谢。您可以这样做作为解决办法。 虽然不是一个很好的解决方案,但对您的案例有效 假设您的日期是: 字符串d=“

我正在尝试读取csv文件的行。每行表示一个日志历史记录,时间戳位于第1列。时间戳的形式始终为
yyyymmddhhmmsttt
(毫秒)

但是,我不知道如何以
yyyymmddhhmmsttt
的格式解析时间,并使其成为我正在创建的类的实例变量。事实上,我不确定在这种情况下应该是什么类型


那么,我应该如何以
yyyymmddhhmmsttt
的格式进行解析时间,即
20180301093559127
?谢谢。

您可以这样做作为解决办法。 虽然不是一个很好的解决方案,但对您的案例有效

假设您的日期是: 字符串d=“20180416235441095”

输出如下所示: 格式化日期为:2018-04-16 23:54:41.095
最终日期是:2018-04-16T23:54:41.095mm etc
System.out.println(模式的日期时间格式(“yyyymmddhhmmssss”).parse(“20180301093559127”)你的搜索和研究带来了什么?当然,您可以在那里找到一些信息,包括要使用的类型以及如何解析日期和时间。显然要使用的Java类型是
LocalDateTime
,但是,如果您知道时区,那么使用
ZoneDateTime
可能会有好处。这不起作用,因为您获得的格式不是LocalDateTime的标准格式,因此您需要将csv数据格式化为可以通过此解析的格式。希望有帮助!
    String year=d.substring(0,4);
    String mon=d.substring(4,6);
    String day=d.substring(6,8);
    String hour=d.substring(8,10);
    String min=d.substring(10,12);
    String sec=d.substring(12,14);
    String mill=d.substring(14,17);

    String formattedDate=year+"-"+mon+"-"+day+" "+hour+":"+min+":"+sec+"."+mill;
    System.out.println("Formatted Date is : "+ formattedDate);
    LocalDateTime datetime = LocalDateTime.parse(formattedDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
    System.out.println("Final Date is : "+datetime);