如何转换;2017-04-26T20:55:00.000Z“;java android studio中日期的字符串

如何转换;2017-04-26T20:55:00.000Z“;java android studio中日期的字符串,java,android,date-formatting,Java,Android,Date Formatting,我是android studio和java开发的新手 我想解析这个日期: "2017-04-26T20:55:00.000Z" ,这是从哈希映射字符串中获取的 我只想在我的视图上显示日期。您可以这样使用子字符串 String date = yourString.substring(0, 10); 这将提取字符串中从0到10的所有字符,并将其另存为新字符串 在这种情况下,将返回“2017-04-26”在我看来,最干净的方法是: 按此处所述提取日期: 使用另一种日期格式创建一个包含所需格式化日

我是android studio和java开发的新手

我想解析这个日期:

"2017-04-26T20:55:00.000Z"
,这是从哈希映射字符串中获取的


我只想在我的视图上显示日期。

您可以这样使用子字符串

String date = yourString.substring(0, 10);
这将提取字符串中从0到10的所有字符,并将其另存为新字符串


在这种情况下,将返回“2017-04-26”

在我看来,最干净的方法是:

  • 按此处所述提取日期:
  • 使用另一种日期格式创建一个包含所需格式化日期的字符串
  • 展示它
您可以始终使用Java的
DateFormat
API来实现这一点。下面是代码片段,它将帮助您完成所需的任何任务

 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
 Date date = dateFormat.parse("2017-04-26T20:55:00.000Z");//You will get date object relative to server/client timezone wherever it is parsed
 DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); //If you need time just put specific format for time like 'HH:mm:ss'
 String dateStr = formatter.format(date);

您将获得date对象,您可以从中使用date对象,无论您希望以何种方式显示,使用date formatter重新格式化。

谢谢,它成功了,但如果我只想检索时间,该怎么办?如何计算字符串位置?@G.Doe查找我的答案是正确的方法。请澄清是否要从字符串创建日期类的实例?或者只是修改字符串以只保留日期部分?您的问题分为两个部分:“如何从字符串创建日期实例?”和“如何打印日期,给定日期类实例?”仅供参考,一些麻烦的旧日期时间类,如,和
java.text.SimpleTextFormat
现在,被类取代了。@BasilBourque我的答案是根据Android,那里还没有完全支持Java8
java.time
类仅在Android平台版本O之后可用。在这里找到我应该提到的…在这个项目中,java.time的大部分功能都被移植到了java 6和java 7,这个项目的负责人是Joda time和java.time的负责人Stephen Colebourne。在项目中进一步适应Android。请参见.FYI,诸如和
java.text.SimpleTextFormat
等麻烦的旧日期时间类现在已被这些类取代。