차근차근/안드로이드 스튜디오

android에서 JsonValueProcessor를 사용해서 날짜를 출력하고 싶다

예쁜꽃이피었으면 2016. 8. 30. 11:10


해결된 것은 아닌데.. 그래도 중간 저장


안드로이듯 스튜디오에서 sms에서 메시지를 읽어 온다.


이때 메시지가 실제 발송된 시간정보를 얻어와서 String형으로 변환시킨다.


1. app - date string


sms에서 얻은 시간 정보를 웹으로 보낸다.


2. web - date string (받을 때 까지는 string)


웹에서 db에 저장하기 전에 date로 변환시킨다.


3. web - date string -> date로 변환


db는 mysql을 사용하고 datetime으로 칼럼 형식이 잡혀 있다.


4. mysql insert datetime 


2016-08-11 오후 12:41:43 이런 모양으로  db에 저장 된다.


----------------------------------------------------------------------- 여기까지는 문제없음



db에 있는 것을 읽어와서 .. 

json을 통해 앱으로 전송.. 하면 결과가


 payment_date ={"date":3,"day":3,"hours":12,"minutes":54,"month":1,"seconds":33,"time":1454471673000,"timezoneOffset":-540,"year":116} : 

 payment_date ={"date":31,"day":0,"hours":12,"minutes":22,"month":0,"seconds":42,"time":1454210562000,"timezoneOffset":-540,"year":116} : 


이런 모양으로 간다.. 

이걸 다시 이쁘게 만들어야 한다..



{"date":31,"day":0,"hours":12,"minutes":22,"month":0,"seconds":42,"time":1454210562000,"timezoneOffset":-540,"year":116} 

이 부분이 json데이타 안에 다시 배열이 있는 형태라서


  JSONObject jsDate = jsonObject.getJSONObject("payment_date"); //<- 읽어와야 하는 부분

  long time = Long.valueOf(jsDate.optString("time").toString()).longValue(); // <- time":1454210562000 이 부분을 변환

  String payment_date = common.getDate(time); //<-string으로 변환하여 담음



// 시간을 날짜형식으로 변환
public static String getDate(long timestamp) {
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.setTimeInMillis(timestamp);
String date = DateFormat.format("yyyy-MM-dd HH:mm:ss", cal).toString();
return date;
}


반응형