Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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中从02年6月10日01.57.07.848594000 PM转换为yyyy-MM-dd-HH24.MI.SS.FF6_Java_Datetime Format_Datetime Parsing - Fatal编程技术网

如何在java中从02年6月10日01.57.07.848594000 PM转换为yyyy-MM-dd-HH24.MI.SS.FF6

如何在java中从02年6月10日01.57.07.848594000 PM转换为yyyy-MM-dd-HH24.MI.SS.FF6,java,datetime-format,datetime-parsing,Java,Datetime Format,Datetime Parsing,如何在java中从02年6月10日01.57.07.848594000 PM转换为yyyy-MM-dd-HH24.MI.SS.FF6 你的问题并不独特,也不罕见,在研究你的问题时进行一些尽职调查将获得更高的回报 你的基本问题实际上是两个问题: 如何将字符串解析为日期/时间对象 如何格式化日期/时间对象 我明白在这个时代,至少有3种不同的方法可以解决这些问题。但是,Java8中引入的日期/时间API应该是您的首选方法 话虽如此,你可能会有两个主要的绊脚石,让一些工作 两者都与您输入的

如何在java中从02年6月10日01.57.07.848594000 PM转换为yyyy-MM-dd-HH24.MI.SS.FF6

你的问题并不独特,也不罕见,在研究你的问题时进行一些尽职调查将获得更高的回报

你的基本问题实际上是两个问题:

  • 如何将
    字符串
    解析为日期/时间对象
  • 如何格式化日期/时间对象
我明白在这个时代,至少有3种不同的方法可以解决这些问题。但是,Java8中引入的日期/时间API应该是您的首选方法

话虽如此,你可能会有两个主要的绊脚石,让一些工作

两者都与您输入的罕见情况有关(
JUN
pm

Java8引入了
DateTimeFormatterBuilder
类,可用于解决此问题

DateTimeFormatter dtf = new DateTimeFormatterBuilder()
        .parseCaseInsensitive()
        .appendPattern("dd-MMM-yy hh.mm.ss.SSSSSSSSS a")
        .toFormatter(Locale.ENGLISH);

LocalDateTime ldt = LocalDateTime.parse("10-JUN-02 01.57.07.848594000 pm", dtf);
这将为您提供输入的日期/时间表示

然后,您只需要另一个
DateTimeFormatter
即可根据需要格式化输出

DateTimeFormatter output = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH.mm.ss.SSSSSS", Locale.ENGLISH);
System.out.println(output.format(ldt));
哪个输出

2002-06-10-13.57.07.848594

请确保您通读了,以便更好地理解格式化程序规范

,因此,您的基本问题是如何将
字符串
转换为日期/时间值,然后将其格式化为另一个
字符串
——这两个问题都比较常见,以前可能多次被询问和回答过。我可能会建议您从oracle开始,并以此作为您研究的起点。我已经用oracle完成了这项工作,但从来没有用Java完成过。您必须认识到,虽然您可能没有这样做,但在您之前还有很多人这样做过。这不是一个罕见的问题。然而,我会给你一些余地,因为输入是不寻常的,
HH24.MI.SS.FF6
意味着什么?你是想把纳秒缩短为微秒吗?@kari如果这对你很重要,那就用瞬间代替LocalDateTime。如果我不理解您的评论,您也可以原谅我,因为日期/时间api支持夏令时