Android 从服务器api获取日期并转换其格式?
我目前正在解析来自PHP服务器api的日期,来自api的日期是“1970-04-22”,现在我需要将该日期显示为“04-22-1970”。我尝试了以下代码,但它没有显示确切的格式Android 从服务器api获取日期并转换其格式?,android,date,android-developer-api,Android,Date,Android Developer Api,我目前正在解析来自PHP服务器api的日期,来自api的日期是“1970-04-22”,现在我需要将该日期显示为“04-22-1970”。我尝试了以下代码,但它没有显示确切的格式 String date = jsonObject.optString("date"); // output is "1970-04-22" SimpleDateFormat spf=new SimpleDateFormat("MMM, dd,yyyy hh:mm:ss aaa"); Date newDate=spf.p
String date = jsonObject.optString("date"); // output is "1970-04-22"
SimpleDateFormat spf=new SimpleDateFormat("MMM, dd,yyyy hh:mm:ss aaa");
Date newDate=spf.parse(date);
spf= new SimpleDateFormat("MMM dd yyyy");
date = spf.format(newDate);
Log.e("date", String.valueOf(date));
在这些情况下,您必须首先将现有格式转换为日期,然后根据需要将日期格式转换为字符串。它向您显示了什么?给我们看看log@Selvin哎呀!!我贴错了。我已经编辑了实际代码。你能看看吗!谢谢没关系。。。它仍然是错误的格式。。。MMM是一个月,由3个字母组成。。。你的“1970-04-22”不包含它,它也不包含“,”或“小时、分钟或秒…”。。。再一次,你要问自己“1970-04-22”的格式是什么?年份是4位数字,破折号,月份是2位数字,破折号,天是2位数字
String tempDate = "1970-04-22";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date date1=null;
try {
date1 = simpleDateFormat.parse(tempDate);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat newformat = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
String dateInReqFormat = newformat.format(date1);