Java:如何以“YYYYMMDDHHMMSSTTT”格式解析时间?

时间:2018-04-16 17:34:54

标签: java datetime string-parsing datetime-parsing

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

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

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

1 个答案:

答案 0 :(得分:-1)

你可以做一些像这样的解决方法。 虽然不是一个很好的解决方案,但会适合您的情况。

假设您的日期是: 字符串d =" 20180416235441095&#34 ;;

    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);

输出如下: 格式化日期为:2018-04-16 23:54:41.095 截止日期为:2018-04-16T23:54:41.095