android - 从云 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());
}
解决方案
根据Timestamp的 API 文档:
Timestamp 表示独立于任何时区或日历的时间点,以 UTC 纪元时间的纳秒分辨率表示为秒和秒的分数。
您看到的不是编码到时间戳中的时区。您所看到的是使用本地设备的时钟对该时间戳的解释。这总是在日期对象上调用 toString 会做的事情,并且该字符串通常不打算在应用程序中显示。
如果您想为另一个时区格式化时间戳,则需要使用库来格式化您选择的时区中的日期,例如 Joda Time,或用于格式化日期和时间的 Android API 之一。
推荐阅读
- python-3.x - 如何绘制方程
- coq - 如何增加列表中的标题
- pytest - Proboscis 可以与 Pytest 一起使用吗?
- c# - 验证 2 个组件具有相同的值
- reactjs - 如果找不到模块,如何捕获错误?
- c++ - 使用 reinterpret_cast c++ 后的意外行为
- webpack - 使用 SSR 与 IE11 反应 Redux - 客户端应用程序无法启动
- python - 如何向 music21 提交自定义特征提取方法?
- django - Django Rest Framework Post 嵌套模型
- cocoa - Why are my new subviews superposing in my splitview?