我有一个链接到Web服务的SQL数据库。 Web服务将使用JAVA将JSON数据发送到我的Android应用程序。
日期在SQL中存储为DATETIME,并在Web服务中显示为“11/14/2017 12:00:00 AM”。在Android应用程序上收到的JSON数据是“2017-11-14T00:00:00”。
如何使用Java格式化它以显示“11月14日”?
以下代码显示了我如何检索json数据:
JsonArrayRequest jsonRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int j = 0; j < response.length(); j++) {
try {
JSONObject temp=response.getJSONObject(j);
String date = temp.getString("Date")
Log.v("Date", date);
catch (JSONException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
尝试
// format date
String dt = "2017-11-14T00:00:00";
// old SimpleDateFormat
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss", Locale.ENGLISH);
// new SimpleDateFormat
SimpleDateFormat sdf2 = new SimpleDateFormat("dd MMMM", Locale.ENGLISH);
Date date = null;
try {
date = sdf1.parse(dt);
String newDate = sdf2.format(date);
System.out.println(newDate);
Log.e("Date", newDate);
} catch (ParseException e) {
e.printStackTrace();
}
<强>输出强>
答案 1 :(得分:0)
将 java.text.SimpleDateFormat 用作this教程。
public static String convertDate(String date) {
SimpleDateFormat fromFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
try {
Date dt = fromFormat.parse(date);
return new SimpleDateFormat("dd MMMM").format(dt);
} catch (ParseException e) {
return "";
}
}
答案 2 :(得分:0)
Calendar
实例返回日,月和年,下面的代码将返回月份和日期
JsonArrayRequest jsonRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int j = 0; j < response.length(); j++) {
try {
JSONObject temp=response.getJSONObject(j);
String date = temp.getString("Date")
Log.v("Date", date);
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date parse = sdf.parse(date);//date variable your json value
Calendar c = Calendar.getInstance();
c.setTime(parse);
System.out.println(c.get(Calendar.MONTH) + c.get(Calendar.DATE));
catch (JSONException e) {
e.printStackTrace();
}
快乐的编码!!
答案 3 :(得分:0)
使用SimpleDateFormat
进行转换,格式如下:
SimpleDateFormat Dateformat = new SimpleDateFormat("dd-MMMM-yyyy hh:mm a", Locale.US);
Date date = Dateformat.parse(YourDateString);
String StringDate = Dateformat .format(date);
String MyNewDate= StringDate.split(" ")[0]+ StringDate.split(" ")[1];