我需要将Java 中的String格式转换"Wed Oct 11 08:27:33 CEST 2023"为最新格式。
我尝试在下面使用,但它抛出解析错误。
String dateString = "Wed Oct 11 08:27:33 CEST 2023";
SimpleDateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss XXX yyyy");
formatter.parse(dateString);
Run Code Online (Sandbox Code Playgroud)
坦白说,我不知道如何处理"CEST"部分
如果您不必处理大量大量使用的遗留代码,java.util.Date并且您使用的是 Java 版本 8 或更高版本,那么最好建议您使用java.time,即使所需的结果必须是java.util.Date.
这是一个使用java.time并生成 的示例java.util.Date:
public static void main(String[] args) {
// example input
String input = "Wed Oct 11 08:27:33 CEST 2023";
// define a formatter for the input including a locale
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(
"EEE MMM dd HH:mm:ss z uuuu",
Locale.ENGLISH
);
// parse the input using the formatter
ZonedDateTime zdt = ZonedDateTime.parse(input, dtf);
// print it
System.out.println(ZonedDateTime.parse(input, dtf));
// convert it to a java.util.Date
Date date = Date.from(zdt.toInstant());
// print the Date, too
System.out.println(date);
}
Run Code Online (Sandbox Code Playgroud)
输出:
public static void main(String[] args) {
// example input
String input = "Wed Oct 11 08:27:33 CEST 2023";
// define a formatter for the input including a locale
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(
"EEE MMM dd HH:mm:ss z uuuu",
Locale.ENGLISH
);
// parse the input using the formatter
ZonedDateTime zdt = ZonedDateTime.parse(input, dtf);
// print it
System.out.println(ZonedDateTime.parse(input, dtf));
// convert it to a java.util.Date
Date date = Date.from(zdt.toInstant());
// print the Date, too
System.out.println(date);
}
Run Code Online (Sandbox Code Playgroud)
如果您必须使用java.utilandjava.text来完成此任务,请使用 az来解析时区名称(CEST中欧夏令时间)并最好添加 a Locale.ENGLISH):
public static void main(String[] args) {
// example input
String input = "Wed Oct 11 08:27:33 CEST 2023";
// create a matching parser
SimpleDateFormat sdf = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss z yyyy",
Locale.ENGLISH
);
// parse the String
Date date = sdf.parse(input);
// print the Date
System.out.println(date);
}
Run Code Online (Sandbox Code Playgroud)
输出:
2023-10-11T08:27:33+02:00[Europe/Paris]
Wed Oct 11 08:27:33 CEST 2023
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |