首页 > 解决方案 > 从云 Firestore 检索数据后如何删除时区值?

问题描述

是否可以在没有时区的情况下获取日期和时间?我正在使用toDate()并最终得到包括日期、时间和时区在内的输出。如何删除时区?

protected void onBindViewHolder(MessagesHolder holder, int position,  Messages model) {
        holder.textViewMessages.setText(model.getMessages());
        holder.textViewUser.setText(model.getUser());
        holder.timeStamp.setText(model.getTimePosted().toDate().toString());
}

下面是我的云火库的截图。 Cloud Firestore 数据库

以下是我的应用程序的屏幕商店。 我的应用程序的屏幕截图

标签: androidgoogle-cloud-firestore

解决方案


根据Timestamp的 API 文档:

Timestamp 表示独立于任何时区或日历的时间点,以 UTC 纪元时间的纳秒分辨率表示为秒和秒的分数。

您看到的不是编码到时间戳中的时区。您所看到的是使用本地设备的时钟对该时间戳的解释。这总是在日期对象上调用 toString 会做的事情,并且该字符串通常不打算在应用程序中显示。

如果您想为另一个时区格式化时间戳,则需要使用库来格式化您选择的时区中的日期,例如 Joda Time,或用于格式化日期和时间的 Android API 之一。


推荐阅读