SimpleDateFormat 在 Java 中返回错误的日期

SimpleDateFormat returning the wrong date in Java

我在 Java 中遇到 SimpleDateFormat 问题。我的代码返回错误的日期。请帮忙

String date_str = "Tue Mar 08 09:44:55 EST 2022";
  
Date date = new SimpleDateFormat("EEE MMM D HH:mm:ss z yyyy").parse(date_str);

// Output: Sat Jan 08 14:44:55 GMT 2022

d,而不是 D 表示一个月中的第几天。 D 是一年中的第几天,所以 8 是 1 月 8 日。

String date_str = "Tue Mar 08 09:44:55 EST 2022";
  
Date date = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy").parse(date_str);
                                       // ^---Here

// Output: Tue Mar 08 15:44:55 CET 2022

查看完整的形态列表here