我从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]);
答案 0 :(得分:1)
您需要使用SimpleDateFormat
和Date
对象。您需要创建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