2017-01-19 3 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変数Iがの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); 
関連する問題