Java DateTimeFormatter分数模式?

时间:2018-09-07 18:17:43

标签: java datetime

是否存在与DateTimeFormatter的.appendFraction方法等效的模式?这就是我想要的,但不必包括.appendFraction()和周围的.optional方法。

   DateTimeFormatter dateTimeFormatter = new DateTimeFormatterBuilder()
            .appendPattern( "[yyyy[-][ ]MM[-][ ]dd]['T'][' '][HH:mm[:][.]ss]" )
            .optionalStart()
            .appendFraction( ChronoField.MICRO_OF_SECOND , 1 , 6 , true )
            .optionalEnd()
            .appendPattern( "[Z][X]")
            .toFormatter();

我想要这样的东西:

.appendPattern( "[yyyy[-][/]MM[-][/]dd['T'][ ]HH:mm[:][.]ss[.][SSSSSS][Z][X]]")

但是上面的模式需要6微秒的数字。

1 个答案:

答案 0 :(得分:2)

您可以使用这种“很棒的” hack来解析可变分数:

DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("[yyyy[-][ ]MM[-][ ]dd]['T'][' '][HH:mm[:][.]ss][.][SSSSSS][SSSSS][SSSS][SSS][SS][S][Z][X]");