Android:消息创建时间不显示在时间戳中

时间:2013-12-23 02:44:28

标签: java android datetime timestamp

我必须在Timestamp中为聊天应用程序显示消息创建时间我的所有时间戳它会自动显示设备时间当我打开应用程序时它没有显示消息创建时间。检查我的代码并更改我如果我做错了

public static String getFormatedTime(long dateTime,String timeZone, String format){
    String time = null;
    try{
        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(dateTime);
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setTimeZone(TimeZone.getTimeZone(timeZone));
        time = sdf.format(cal.getTime());
    }
    catch(Exception e){
        //logger.log(Level.SEVERE,"\n ERROR**********, Exception during get formated time: "+e+"\n");       
    }
    return time;
}

Calendar calendar = Calendar.getInstance();
TimeZone zone = calendar.getTimeZone();
String timeZone = zone.getID();

String msgAtTime =  getFormattedTime(System.currentTimeInMillis(), timezone, "MMM dd, hh:mm a");

msgTextVies.setText(msgAtTime);

我想使用上面的代码显示创建时间的消息:

// show dateTime

DateTime createdAt = message.getCreatedAt();

但我不知道如何使用以前的代码来实现它。

2 个答案:

答案 0 :(得分:2)

您只需使用以下代码即可获得消息创建时间。

public String getCreatedAt()
{
    Calendar c1 = Calendar.getInstance();      
    String msg_time= c1.get(Calendar.YEAR) + c1.get(Calendar.MONTH) + c1.get(Calendar.DAY_OF_MONTH) + c1.get(Calendar.HOUR_OF_DAY) + c1.get(Calendar.MINUTE);
    return msg_time;
}

我没有设置任何特定格式,但您可以根据自己的要求进行调整。

希望它适合你。

答案 1 :(得分:1)

你可以通过两种方式来实现。

<强> 1。按设备端数据库:在Device中创建数据库,存储消息信息及其获取时间。并将该数据库数据填充到您的应用程序中。因此,您将在时间轴中获得所有已发布的消息时间。

<强> 2。通过服务器端数据库:希望您调用Web服务将消息从一个用户发送到另一个用户。那时,还要传递你设备的当前时间。或者要么系统,当它获得任何条目时,也会有该表的当前时间戳的条目。因此,只要您调用Web服务,就可以获得消息发布时间。在列表中填充该时间。

如果你不清楚我,请告诉我。