2017-01-19 7 views
-2

채팅 응용 프로그램을 만들고 있는데 메시지를 보내거나받을 때마다 채팅 풍선에 날짜와 시간을 인쇄하고 싶습니다.Epoch 또는 Unix 타임 스탬프를 ANDROID로 변환합니다.

다음 코드를 사용하여 날짜와 시간을 가져 와서 변환합니다.

long itemLong = (long) (chatMessage.getTime()*1000); 
    Date itemDate = new Date(itemLong); 
    String itemDateStr = new SimpleDateFormat("dd-MMM HH:MM").format(itemLong); 
    holder.time.setText(itemDateStr); 

itemLong 변수는 내가 SimpleDateFormat의에서 언급 한 형식으로 날짜와 타임 스탬프로 변환되는 값 1.4847986E15을 얻을 수 있지만, eveytime 어떤 임의의 날짜와 시간이있는 메시지를 보내거나 수신하지 표시됩니다.

다양한 해결책을 시도했지만 정확한 날짜와 시간을 가져올 수 없습니다. 도움을 주시면 감사하겠습니다.

+0

왜 1000을 곱하면 getTime이 nanosecconds를 반환합니까? –

+0

@AnkushBist 제공되는 솔루션을 사용해 보았습니다. 그러나 그것은 나를 위해 일하지 않습니다. : – Rider

+0

@Rider 정확하게 작동하지 않는 것 – Gattsu

답변

0

코드를 편집하여 정상적으로 작동합니다.

long itemLong = (long) (chatMessage.getTime()/1000); 
    java.util.Date d = new java.util.Date(itemLong*1000L); 
    String itemDateStr = new SimpleDateFormat("dd-MMM HH:mm").format(d); 
    holder.time.setText(itemDateStr); 
관련 문제