gpt4 book ai didi

java - 解析字符串到日期 : Illegal pattern character 'T' .

转载 作者:搜寻专家 更新时间:2023-10-30 21:14:39 29 4
gpt4 key购买 nike

我需要在 java 中解析一个字符串到日期。我的字符串具有以下格式:

2014-09-17T12:00:44.0000000Z

但 java 在尝试解析此类格式时抛出以下异常... java.lang.IllegalArgumentException: Illegal pattern character 'T'

关于如何解析它的任何想法?

谢谢!

最佳答案

鉴于您输入的 2014-09-17T12:00:44.0000000Z,仅转义字母 T 是不够的。您还必须处理结尾的 Z。但请注意,此 Z 不是文字,而是根据 ISO-8601-standard 具有 UTC+00:00 时区偏移量的含义>。所以转义 Z 是不正确的。

SimpleDateFormat 通过模式符号 X 处理这个特殊字符 Z。所以最终的解决方案是这样的:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX");
Date d = sdf.parse("2014-09-17T12:00:44.0000000Z");
System.out.println(d); // output: Wed Sep 17 14:00:44 CEST 2014

请注意,不同的时钟时间适用于时区 CEST(toString() 使用系统时区),结果等同于 UTC 时间12:00:44。此外,我必须插入七个符号 S 才能正确处理你的输入,它假装精度低至 100ns(尽管 Java pre 8 只能处理毫秒)。

关于java - 解析字符串到日期 : Illegal pattern character 'T' .,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26398657/

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