Java - Date format for Multiple Scenarios

后端 未结 2 1665
一整个雨季
一整个雨季 2021-01-29 10:06

I have a java component to format the date that I retrieve. Here is my code:

    Format formatter      = new SimpleDateFormat(\"yyyyMMdd\");
        String s = \         


        
2条回答
  •  被撕碎了的回忆
    2021-01-29 10:39

    In case of you have optional parts in pattern you can use [ and ].

    For example

    public static Instant toInstant(final String timeStr){
        final DateTimeFormatter formatter = DateTimeFormatter
                .ofPattern("yyyy-MM-dd HH[:mm[:ss[ SSSSSSSS]]]")
                .withZone(ZoneId.of("UTC"));
        try {
            return Instant.from(formatter.parse(timeStr));
        }catch (DateTimeException e){
            final DateTimeFormatter formatter2 = DateTimeFormatter
                    .ofPattern("yyyy-MM-dd")
                    .withZone(ZoneId.of("UTC"));
            return LocalDate.parse(timeStr, formatter2).atStartOfDay().atZone(ZoneId.of("UTC")).toInstant();
        }
    }
    

    cover

    • yyyy-MM-dd
    • yyyy-MM-dd HH
    • yyyy-MM-dd HH:mm
    • yyyy-MM-dd HH:mm:ss
    • yyyy-MM-dd HH:mm:ss SSSSSSSS

提交回复
热议问题