java - 像时区一样用 "America/New_York"解析日期

标签 java date parsing timezone

尝试解析带有详细时区的日期:

var sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
sdf.parse("2022-09-02 02:30:10 America/New_York");

获得:

java.text.ParseException: Unparseable date: "2022-09-02 02:30:10 America/New_York"

尝试过:在日期格式化程序中指定“z”、“zzz”、“X”和“XXX”。

最佳答案

您可以将现代时间 API 与 DateTimeFormatter 一起使用反而。 (长)Zone-id 的符号是 VV

例如

System.out.println(ZonedDateTime.parse(
                         "2022-09-02 02:30:10 America/New_York", 
                         DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss VV")));

输出

2022-09-02T02:30:10-04:00[America/New_York]

关于java - 像时区一样用 "America/New_York"解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73580462/

相关文章:

java - 寻求创建一个通用变量(我希望这是正确的术语)

java - Ant 正在从位置内寻找位置

C++ stringstream 读取全零

python - BeautifulSoup 无法解析任意 XML?例如 - 如果有名为 <body> 的标签

Java XMLStreamReader,当文本包含START_ELEMENT时如何获取元素文本

java - 记录 native 代码发出的调用

java - Java有指针吗?如果是,如何操纵它们?

java - Java 中的日期数组

mysql - 如何按小时对mysql查询结果进行分组?

bash - 在 MAC OSX 中比较 Bash 中的两个日期