【问题标题】:Convert Epoch or Unix timestamp to date ANDROID [duplicate]将 Epoch 或 Unix 时间戳转换为日期 ANDROID [重复]
【发布时间】:2017-06-03 16:53:43
【问题描述】:

我正在创建一个聊天应用程序,我想在发送或接收消息时在聊天气泡中打印日期和时间。

我使用下面的代码来获取和转换日期和时间。

   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 变量的值是 1.4847986E15,它以我在 SimpleDateFormat 中提到的格式转换为日期和时间戳,但每个时间都会显示一些随机日期和时间,而不是发送或接收消息的时间。

我尝试了各种解决方案,但无法获得正确的日期和时间。 任何帮助表示赞赏。

【问题讨论】:

  • 为什么你要乘以 1000,getTime 是否返回纳秒?
  • @AnkushBist 我尝试了提供的解决方案。但这对我不起作用。 :(
  • @Rider 什么不起作用.. 准确地说。
  • chatMessage.getTime() 发布此数据,并请提供它需要返回的日期。我会经历这个
  • @AnkushBist 需要返回当前发送或接收消息的日期和时间。

标签: android date timestamp


【解决方案1】:

将代码编辑到此并正常工作。

 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);

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 1970-01-01
    • 2017-03-23
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 2020-10-19
    相关资源
    最近更新 更多