gpt4 book ai didi

android - 如何格式化 2013-05-15T10 :00:00-07:00 to Date android

转载 作者:太空狗 更新时间:2023-10-29 16:05:24 25 4
gpt4 key购买 nike

我正在尝试将日期字符串格式化为 Date,然后从中获取月/日:

String strDate="2013-05-15T10:00:00-07:00";
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss-z");

Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(strDate);
} catch (ParseException e) {

e.printStackTrace();
}

SimpleDateFormat sdfmonth = new SimpleDateFormat("MM/dd");
String monthday= sdfmonth.format(convertedDate);

但它会返回当前月份/日期,即 5/18。怎么了?

最佳答案

3 件事:

  • 你的格式有误:2013-05-15T10:00:00-07:00没有意义,应该是2013-05-15T10:00:00-0700(末尾没有冒号,这是 RFC 822 中定义的时区。(查看关于 Z 的 docs)。
  • 将格式更改为@blackbelt 提到的 yyyy-MM-dd'T'HH:mm:ssZ
  • 你得到一个错误的日期,因为无论在解析过程中发生什么,你都会重新格式化你的日期。当且仅当解析有效时,在您的 try block 中重新格式化。

------------更新

    String strDate = "2013-05-15T10:00:00-0700";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");

Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(strDate);
SimpleDateFormat sdfmonth = new SimpleDateFormat("MM/dd");
String monthday = sdfmonth.format(convertedDate);
} catch (ParseException e) {
e.printStackTrace();
}

关于android - 如何格式化 2013-05-15T10 :00:00-07:00 to Date android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623963/

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