Quickblox QBChatMessage getDateSent无法正常工作

时间:2015-04-30 15:13:10

标签: android quickblox android-calendar

当我在quickblox上检索聊天记录时,我想获取每条消息的日期时间,以便在我的应用上显示它。 QBChatMessage的文档指出:

public long getDateSent()
Gets the date sent value

我认为这个长值是指以毫秒为单位的时间。所以我将它设置为日历,以便能够得到它的字段:

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(messageArray.get(i).getDateSent());
Log.e(TAG, "date sent "+i+" - "+DateHelper.getDateLabel(cal)+" - "+messageArray.get(i).getDateSent());

但是,虽然getDateSent()返回不同的值,但日历字段保持不变:

04-30 11:51:07.903  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 0 - 17/0/1970 - 1430403726
04-30 11:51:07.903  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 1 - 17/0/1970 - 1430403749
04-30 11:51:07.904  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 2 - 17/0/1970 - 1430403827
04-30 11:51:07.904  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 3 - 17/0/1970 - 1430403855
04-30 11:51:07.904  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 4 - 17/0/1970 - 1430403912
04-30 11:51:07.905  20943-20943/com.shoutzapp E/ConversationActivity﹕ date sent 5 - 17/0/1970 - 1430403923

我错过了什么? getDateSent()真的以毫秒为单位返回时间,还是以错误的方式使用Calendar?

非常感谢你提供任何帮助。

2 个答案:

答案 0 :(得分:0)

04-30 11:51:07.904  20943-20943/com.shoutzapp 
        E/ConversationActivity﹕ date sent 4 - 17/0/1970 - 1430403912

根据您发布的日志,getDateSent()返回秒,而不是毫秒。将getDateSent() * 1000解析为setTimeInMillis

答案 1 :(得分:0)

我遇到了同样的问题。

我的解决方案是:

long milis = 1473232646 * 1000L;
long milis = getDateSent() * 1000L;