1

登录用户时,我正在对服务器进行 API 调用。API 调用返回带有字段的 JSON 格式数据:

time_logged_in - iso-8601 格式的时间,例如 2013-08-19T14:29Z

但在我的 TextView 中,我只想显示用户登录的时间,例如 14:29。

谁能帮助并告诉我我该怎么做?

4

1 回答 1

1

使用SimpleDateFormat从一种格式转换为另一种格式。然后你可以从中提取相关部分。一种方法如下:

String server_format = "2013-08-19T14:29Z";    //server comes format ?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmZ");
try {

    Date date = sdf.parse(server_format);
    System.out.println(date);
    String your_format = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);
    String [] splitted = your_format.split(" ");
    System.out.println(splitted[1]);    //The second part of the splitted string, i.e time
    // Now you can set the TextView here
    

} catch (ParseException e) {
    System.out.println(e.toString()); //date format error
}

PS我没有测试过这段代码。希望你明白这个概念。请参阅如何格式化日期 android?更多。

另一种方法是使用.split()usingT作为分隔符。然后只需使用从字符串中删除所有出现的字符中Z给出的答案删除部分,并将结果显示在.TextView

第三种方法可以是使用函数替换T和(空格) 。然后使用您可以使用分隔符拆分字符串。返回的数组的第二个元素会给你时间。Z" ".replace.split()" "

于 2013-08-28T16:18:32.227 回答