将日期字符串转成LocalDateTime

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Today_1st/article/details/89531222

如果直接用LocalDateTime.parse将日期字符串(yyyy-MM-dd)转成LocalDateTime会导致报错,所以我这里提供了将日期字符串转成LocalDateTime的方法,仅供参考。如有更好方式,欢迎大家分享。

public static final String DATE_FORMAT = "yyyy-MM-dd";
public static LocalDateTime parserString2LocalDateTime(final String dateTime, final String formatter) {

        if (StringUtils.isBlank(dateTime) || IBusinessEntity.NULL_VALUE.equalsIgnoreCase(dateTime)) {
            return null;
        }
        if(dateTime.length() == 10){
            return convertDate2LocalDateTime(convertLocalDate2Date(parserString2LocalDate(dateTime)));
        }
        return LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern(formatter));
 }
public static LocalDate parserString2LocalDate(final String date) {

        return parserString2LocalDate(date, DATE_FORMAT);
 }
public static LocalDateTime convertDate2LocalDateTime(Date date) {

        Instant instant = date.toInstant();
        ZoneId zone = ZoneId.systemDefault();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
        return localDateTime;
 }
展开阅读全文

没有更多推荐了,返回首页