更改Android的日期和时间格式

时间:2017-02-21 19:04:10

标签: java android android-date

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

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

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]); 

2 个答案:

答案 0 :(得分:1)

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

试试这段代码:

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();
}

答案 1 :(得分:0)

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

以下是使用情况的示例:Java SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") gives timezone as IST

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