jpa 如何将字符串日期MM/DD/YYYY转换为IsoDateTime格式,以从MongoDB数据库中获取日期

velaa5lx  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(102)
String fromDate = requestObject.get("fromDate");
  String toDate = requestObject.get("toDate");

  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");

  Date fromDateCalculated = simpleDateFormat.parse(fromDate);
  Date toDateCalculated = simpleDateFormat.parse(toDate);

我试过这个,但它没有工作,它给了我parceExcpetion
我输入的字符串日期是MM/DD/YYYY格式

{    
    "fromDate":"12/28/2022";
    "toDate":"12/28/2023";  
}

然而,要从mongoDB中检索日期,其格式为
例如:1991-01-29T11:01:43.577+00:00
或者你可以说yyyy-MM-dd'T'HH:mm:ss.SSSXXX

68bkxrlz

68bkxrlz1#

  • “如何将字符串日期MM/DD/YYYY转换为IsoDateTime格式,以从MongoDB数据库中获取日期. *
  • 格式 *
  • 例如:1991-01-29T11:01:43.577+00:00."*
  • DateTimeFormatter * 类提供了 * 预定义格式 *,这可以通过 DateTimeFormatter#ISO_OFFSET_DATE_TIME 字段获得。

您需要使用 LocalDate#parse 方法解析这些值。
此外,应用 * ZoneOffset * 值。

String fromDate = "12/28/2022";
String toDate = "12/28/2023";
DateTimeFormatter f = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
DateTimeFormatter f1 = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDateTime fromDateCalculated = LocalDate.parse(fromDate, f1).atStartOfDay();
LocalDateTime toDateCalculated = LocalDate.parse(toDate, f1).atStartOfDay();
OffsetDateTime x = fromDateCalculated.atOffset(ZoneOffset.UTC);
OffsetDateTime y = toDateCalculated.atOffset(ZoneOffset.UTC);
System.out.println("x = " + f.format(x));
System.out.println("y = " + f.format(y));

输出

x = 2022-12-28T00:00:00Z
y = 2023-12-28T00:00:00Z

相关问题