2017-12-31 30 views
-5

와 붙어있어 :은 읽을 수 날짜에 유닉스 타임 스탬프 문자열 변환에 갇혀로 곧</strong> 가능한 읽을 수있는 날짜 형식 <strong>로 변환하려고

item.put("date", DateFormat.format("dd/MM/yyyy hh:mm:ssaa", jsonChildNode.optString("date") * 1000L)); 

Error: Operator '*' cannot be applied to 'java.lang.String', 'long'

+0

하하에 구문 분석 할 수없는 일부 데이터가있는 경우 .... 3141 – Fresco

+0

예외를 던질 수있는이 코드로 시도의 catch 블록 안에 모든 것을 넣어 String 객체를 long primitive로 곱하려고 시도하면 ... 작동하지 않습니다. – Oleg

+0

읽을 수있는 날짜를 얻는 방법은? – Fresco

답변

0

위의 대답은 Unix 타임 스탬프이므로 int 값 안에 들어 가지 않습니다. 또한 귀하의 질문에서 유닉스 타임 스탬프 대신 Date 클래스에서 수락하는 밀리 초 단위로 보인다.

SimpleDateFormat sdf = new SimpleDateFormat ("dd/Mm/yyyy hh:mm:ss aa"); 

long unixTimeInSeconds = jsonChildNode.getLong("date"); 

item.put("date",sdf.format(new Date(unixTimeInSeconds * 1000L))); 


Log.d("tag",sdf.format(new Date(unixTimeInSeconds * 1000L))); 

여기에 타임 스탬프 키가 없거나 긴

0

변경된 코드 :

int date = Integer.valueOf(jsonChildNode.optString("date")); 
item.put("date", DateUtils.formatDateTime(HistoryWithdrawal.this, date, DateUtils.FORMAT_SHOW_DATE)); 
+0

유닉스 타임 스탬프의 날짜입니다. 지원되는 최대 값보다 클 것입니다. int, long please 사용하십시오. – Kushan

관련 문제