2017-02-23 79 views
-2

我目前正在解析日期從PHP服務器api和api的日期是「1970-04-22」現在我需要顯示此日期爲「04-22-1970」。我試過下面的代碼,但沒有顯示確切的格式。從服務器api獲取日期並轉換其格式?

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)); 
+0

它顯示給你什麼?告訴我們日誌 –

+0

@Selvin哎呀!我發佈了錯誤的一個。我編輯了實際的代碼。你能檢查出來嗎!謝謝!! –

+0

它沒關係...它仍然是錯誤的格式... MMM是3個字母shorcut的月...你的「1970-04-22」不包含它,它也不包含「,」或小時分鐘或秒... **再次,你問你自己什麼是「1970-04-22」的格式**它的年份是4位數,短劃線,月份是2位數,短劃線,天數是2位數 – Selvin

回答

0
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); 

在這種情況下,你必須首先將現有的格式轉換爲一個日期,然後只要你想它格式化日期字符串。