我有一个应用程序,其中我以字符串格式从服务器获取日期但我需要将其转换为格式为“dd-mm-yyyy HH:mm”。如何存档让我知道我已经尝试过下面提到了代码。
代码:
String strDate = "2013-05-15T10:00:00-0700";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
Date date = null;
try {
date = dateFormat.parse(strDate);
String month = String.valueOf(date.getMonth());
Log.e(TAG,"Date:"+date);
Log.e(TAG,"Month:"+month);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
但我的格式是“Wed May 15 10:00:00 GMT + 05:30 2013”
答案 0 :(得分:0)
使用http://www.joda.org/joda-time/中的JodaTime包。 然后:
String dateString = "yourDateString";
DateTime date = new DateTime(dateString);
date.toString("dd-mm-yyyy HH: mm", Locale.getDefault()); // Will print the date in the pattern you just specified
答案 1 :(得分:0)
private String dateString = "2018-01-24T05:00:00.000Z";
formatTimeFromString1(dateString);
private String formatTimeFromString1 (String dateString) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS" );
Date date = simpleDateFormat.parse(dateString);
simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
return simpleDateFormat.format(date);
} catch (ParseException e) {
}
return "";
}
答案 2 :(得分:0)
此代码段应解决此问题。如果您需要特定时区,可以将其设置为目标格式化程序:
import java.text.SimpleDateFormat;
import java.util.TimeZone;
String strDate = "2013-05-15T10:00:00-0700";
SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
SimpleDateFormat targetFormat = new SimpleDateFormat("dd-mm-yyyy HH: mm");
//targetFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(targetFormat.format(sourceFormat.parse(strDate)));;