java Wed Mar 29 00:00:00 CST 2023 转成 2023-03-30 00:00:00
时间: 2023-09-02 08:05:51 浏览: 105
这个题目存在一些问题,因为转换后的日期与原日期不一致。我将提供两种解决方案:
方案一:假设题目中的日期是正确的,那么可以使用以下代码进行转换:
```
String dateStr = "Wed Mar 29 00:00:00 CST 2023";
DateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = inputFormat.parse(dateStr);
DateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String outputStr = outputFormat.format(date);
System.out.println(outputStr); // 输出:2023-03-29 00:00:00
```
方案二:如果题目中的日期是错误的,那么可以使用以下代码进行修正:
```
String dateStr = "Wed Mar 29 00:00:00 CST 2023";
DateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = inputFormat.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
date = calendar.getTime();
DateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String outputStr = outputFormat.format(date);
System.out.println(outputStr); // 输出:2023-03-30 00:00:00
```
这个方案的思路是先将字符串转换成日期,然后创建一个 Calendar 对象,将日期设置到 Calendar 中,再将 Calendar 中的日期加上一天,最后将 Calendar 转换成日期字符串。
阅读全文