gpt4 book ai didi

java - 如何在 Android 上将 ISO 8601 字符串解析为 Java 日期

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:36 31 4
gpt4 key购买 nike

<分区>

我正在 Android 上创建一个与服务器通信的应用程序。该服务器返回给我 ISO 8601日期字符串,如下所示:

2014-11-21 12:24:56.662061-02

然后我尝试使用 Java 的 SimpleDateFormatter 来解析我的字符串,如下所示:

        Locale l = new Locale("pt","BR");
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSSZZ",l).parse(str_date);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(date.getTime());

事实是,这个解决方案部分有效。我能够正确地得到年、月、日和小时,但是当涉及到小时、分钟和秒时,我总是弄错分钟。如果我尝试使用我的示例字符串打印它,我会得到类似于“12:35”而不是“12:24”的内容。我尝试了不同的掩码,使用区域设置,不使用区域设置,但似乎对我没有任何作用。

我在这个link 上看到过SimpleDateFormatter 不能很好地支持 ISO 8601,那个人使用 javax.xml.bind.DatatypeConverter.parseDateTime() 方法给出了一个解决方案,但 Android SDK 上不存在 DatatypeConverter。那么...我该怎么做才能正确解析这个字符串?

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