2017-02-21 163 views
1

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

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

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

这些问题已经有很多。你可以在这里看到[链接](http://stackoverflow.com/questions/8654990/how-can-i-get-当前日期在Android?rq = 1) – ku4irka

回答

1

您需要使用SimpleDateFormatDate对象。您需要创建1个初始样式的SimpleDateFormat,1个需要的样式。然后创建一个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(); 
} 
+0

非常感谢,代码工作完美。 –

+0

@priyanshugoyal很高兴听到!考虑接受和upvoting我的答案:)快乐的编码! – Marat