一、解释
"Tue Mar 21 15:06:36 CST 2023" 表示的是一个日期时间,其标准格式为 "EEE MMM dd HH:mm:ss zzz yyyy"
其中:
- EEE:星期几的缩写,例如 "Tue" 表示星期二。
- MMM:月份的缩写,例如 "Mar" 表示三月份。
- dd:日期,例如 "21" 表示 21 日。
- HH:小时,例如 "15" 表示下午 3 点。
- mm:分钟,例如 "06" 表示 6 分钟。
- ss:秒钟,例如 "36" 表示 36 秒。
- zzz:时区缩写,例如 "CST" 表示中国标准时间。
- yyyy:年份,例如 "2023" 表示 2023 年。
因此,"Tue Mar 21 15:06:36 CST 2023" 表示的是 2023 年 3 月 21 日下午 3 点 6 分 36 秒,时区为中国标准时间(CST)。
二、转换
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
/**
* @描述:
* @Date: 2023/4/20 15:30
* @Description: // PC002
**/
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestDemo {
@Test
public void test01() {
String dateString = "Tue Mar 21 15:06:36 CST 2023";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
try {
LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
String dateStr = DateUtil.format(LocalDateTime.from(dateTime), "yyyy-MM-dd HH:mm:ss");
System.out.println("dateTime date: " + dateTime);
System.out.println("dateStr date: " + dateStr);
} catch (Exception e) {
System.err.println("Error parsing date: " + e.getMessage());
}
}
}
// 输出
// dateTime date: 2023-03-21T15:06:36
// dateStr date: 2023-03-21 15:06:36