为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用非 GMT 时区解析 TZ 格式时间

如何使用非 GMT 时区解析 TZ 格式时间

梦里花落0921 2022-09-07 17:13:50
我有两种格式的时间字符串。2019-03-01T22:22:50.591-08:00   2019-03-01T22:22:50.591Z我正在使用以下 Java 代码段进行解析SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SS" +              ".SSS'Z'", Locale.US);Date date = df.parse(dateString);它在第二个字符串上工作,但在第一个字符串上失败。有哪些通用代码可以解析它们?
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

这可能是您要查找的内容:"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"


Date parsed1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.US).parse("2019-03-01T22:22:50.591Z");

System.out.println(parsed1); // Fri Mar 01 16:22:50 CST 2019


Date parsed2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.US).parse("2019-03-01T22:22:50.591-08:00");

System.out.println(parsed2); // Sat Mar 02 00:22:50 CST 2019

正如 Basil 在下面指出的那样,如果您运行的是 Java 8+ 或 JSR 310 的向后移植,这些功能也有效:


    OffsetDateTime parsed1 = OffsetDateTime.parse("2019-03-01T22:22:50.591Z");

    System.out.println(parsed1); // Fri Mar 01 16:22:50 CST 2019


    OffsetDateTime parsed2 = OffsetDateTime.parse("2019-03-01T22:22:50.591-08:00");

    System.out.println(parsed2); // Sat Mar 02 00:22:50 CST 2019


查看完整回答
反对 回复 2022-09-07
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信