如何将选定的时间戳转换为firebase服务器时间戳android
Posted
技术标签:
【中文标题】如何将选定的时间戳转换为firebase服务器时间戳android【英文标题】:How to convert selected timestamp into firebase server timestamp android 【发布时间】:2021-11-10 18:31:17 【问题描述】:我想将输入的时间戳转换为 android 的 Firebase 服务器时间戳
例如选择的时间戳是 -> 1631724053。注意这个时间戳是从选择的日期获得的。
想要转换的时间戳(firebase 服务器时间戳)是 -> 2021 年 1 月 1 日下午 3:37:59 UTC+5:30
提前致谢
【问题讨论】:
【参考方案1】:您没有指定您使用的是 Java 还是 Kotlin,但是您可以从 Android date 创建一个 Firestore Timestamp
在调用 Timestamp 构造函数时,您将传入您的日期对象,因此请确保您使用的是 Android 文档中所述的有效日期。
【讨论】:
【参考方案2】:Firestore Timestamp 类型的对象表示:
时间戳表示独立于任何时区或日历的时间点,以 UTC 纪元时间的纳秒分辨率表示为秒和秒的分数。
正如@Hydra 在她的评论中已经提到的,您可以将 long 值转换为:
1631724053
实际上代表的是:
Wednesday, September 15, 2021 4:40:53 PM
进入 Firestore 对象会绕过构造函数的时间纪元。但是,处理这种情况的更合适的方法是使用FieldValue.serverTimestamp(),它实际上是一个发送到 Firebase Firestore 服务器的令牌,在那里确定实际的时间戳并将其写入数据库。
【讨论】:
以上是关于如何将选定的时间戳转换为firebase服务器时间戳android的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中将日期转换为firebase时间戳格式