gpt4 book ai didi

Java:如何将带有月份名称的字符串转换为日期时间?

转载 作者:行者123 更新时间:2023-12-02 15:53:22 26 4
gpt4 key购买 nike

我已经看到了一些答案,可以让我在格式类似于

时进行转换

“1952年2月14日14:52:22”

使用 DateTimeFormatter

DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime(string);

如何将相同的想法应用于这种格式的字符串:

“太平洋夏令时间 2013 年 9 月 29 日星期日上午 7:59:58”

我正在努力

DateTimeFormatter formatter = DateTimeFormat.forPattern"EEEE, MMMM dd, yyyy h:mm:ss a zzz";
DateTime dt = formatter.parseDateTime(string);

但它对此有所提示。

最佳答案

2018/Java 10

String value = "Sunday, September 29, 2013 7:59:58 AM PDT";
String format = "EEEE, MMMM dd, yyyy h:mm:ss a zzz";

DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern(format)
.toFormatter(Locale.US);
ZonedDateTime zdt = ZonedDateTime.parse(value, formatter);
System.out.println(zdt);
System.out.println(zdt.format(formatter));

哪个打印

2013-09-29T07:59:58-07:00[America/Los_Angeles]
Sunday, September 29, 2013 7:59:58 AM PDT

原始答案

您需要更改预期格式以满足 SimpleDateFormat 指定的要求

String value = "Sunday, September 29, 2013 7:59:58 AM PDT";
String format = "EEEE, MMMM dd, yyyy h:mm:ss a zzz";
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
Date date = sdf.parse(value);
System.out.println(date);
System.out.println(sdf.format(date));
} catch (ParseException ex) {
ex.printStackTrace();
}

哪个输出...

Mon Sep 30 00:59:58 EST 2013
Sunday, September 29, 2013 7:59:58 AM PDT

关于Java:如何将带有月份名称的字符串转换为日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com