首页 > 解决方案 > Spring MVC:通过 REST 端点将字符串日期转换为日期

问题描述

我正在开发 Spring Boot 项目,我想转换来自发布请求的字符串日期

D,100000001028686,BA0884,72087000000176,N,2,147568593,存款参考, 2020-08-05 20:17:33.32691 , 601123,ZAR,2500,57,24,i10c=0,i20c=2,i05 =2,iR2=5,iR5=8,iR10=200,iR20=1,iR50=55,iR100=60,iR200=82,0,0,0,0,000

我要转换的日期是粗体,需要将该部分从@PostMapping方法请求参数转换为java.time对象之一。

搜索后,我找到了一些数据的解决方案,如果 self without usingSpring但它对我不起作用并已使用java.util.Date,这里是我到目前为止编写的代码

    class Main {
      public static void main(String[] args) throws ParseException {
        String date = "2020-08-05 20:18:33.32692";
        System.out.println(covertDate(date)); //Wed Aug 05 20:19:05 UTC 2020
      }
    
       public static Date covertDate(String date) throws ParseException {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSS");
            return formatter.parse(date);
        }
    }

我得到的回复不是我想要的,有什么办法可以解决这个问题

标签: javaspring-bootspring-mvcspring-annotationsdate-conversion

解决方案


这是我在搜索future后找到的解决方案,我使用Java 8 API来解决它

 class Main {
  public static void main(String[] args) throws ParseException {
    String sDate6 = "2020-08-05 11:50:55.555";
    System.out.println(covertDate(sDate6)); //2020-08-05T11:50:55.555
  }

   public static LocalDateTime covertDate(String date) throws ParseException {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS", Locale.ENGLISH);
         LocalDateTime dateTime = LocalDateTime.parse(date,formatter);
         return dateTime;  
    }
}

推荐阅读