gpt4 book ai didi

java - Android - 如何解析此日期[2014-04-23T14 :20:00. 000-07 :00 ]?

转载 作者:行者123 更新时间:2023-12-02 05:54:09 25 4
gpt4 key购买 nike

我想转换此日期格式:

2014-04-23T14:20:00.000-07:00

转换为日期对象,这样我就可以使用此方法来获取差异:

DateUtils.getDateDifference(DATE_OBJECT);

...

我尝试过使用“SimpleDateFormat”,但它抛出异常,多次检查代码,但不起作用:

    String pubDate = "2014-04-23T14:20:00.000-07:00";
SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss Z", Locale.ENGLISH);
try {
Date pDate = df.parse(pubDate);
pubDate = "This post was published " + DateUtils.getDateDifference(pDate);
} catch (ParseException e) {
Log.e("DATE PARSING", "Error parsing date..");
pubDate = "Couldn't be retrieved.";
}

成功实现这一目标的最简单方法是什么?

最佳答案

根据 Android 文档(@MarcoAcierno 的评论中给出的链接),您需要符号 Z 五次来解析时区偏移。请注意,在 Java-6 中没有内置的解决方案来处理偏移量部分中的冒号,但 Java-7 引入了新符号 X(此处三次:XXX)。 (Android!= Java) 的另一个例子。所以最终的模式如下:

SimpleDateFormat sdf =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ");
java.util.Date d = sdf.parse("2014-04-23T14:20:00.000-07:00");

没有必要指定区域设置,因为您的格式不包含任何语言或区域设置敏感部分(只是纯 ISO 格式)。

关于java - Android - 如何解析此日期[2014-04-23T14 :20:00. 000-07 :00 ]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256639/

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