关于java:更改日期和时间格式Android

Change date and time format Android

本问题已经有最佳答案,请猛点这里访问。

我从API获取2017-01-15T21:30:05Z的日期和时间。 我想将日期更改为JAN 15,2017,将时间更改为9:30 pm格式。

这是我没有格式化的代码。

1
2
3
4
5
6
7
News currentNews = newsList.get(position);
String time=currentNews.getTime();
String[] parts=time.split("T");
parts[1]=parts[1].replace("Z","");

dateView.setText(parts[0]);
timeView.setText(parts[1]);


您需要使用SimpleDateFormatDate对象。 您需要创建1个具有初始样式的SimpleDateFormat和1个具有所需样式的SimpleDateFormat。 然后创建一个Date对象,并从API日期接收到该对象的解析。 然后使用第二个SimpleDateFormat打印出来。

试试这段代码:

1
2
3
4
5
6
7
8
9
10
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
SimpleDateFormat sdf2 = new SimpleDateFormat("MMM dd, yyyy h:mm a");

try {
    Date d = sdf.parse("2017-01-15T21:30:05Z");
    System.out.println(d);                     // date in INITIAL format
    System.out.println(sdf2.format(d));        // date in DESIRED format
} catch (ParseException e) {
    e.printStackTrace();
}


您可以使用le class SimpleDateFormat来解析String。 然后,您可以从中获取日期。

以下是使用示例:Java SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")给出时区为IST

有关更多详细信息,请参阅官方文档:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html