如何将选定的时间戳转换为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的主要内容,如果未能解决你的问题,请参考以下文章

将 Firebase 时间戳转换为当前时间或其他可用形式

如何在android中将日期转换为firebase时间戳格式

将 Firebase Firestore 时间戳转换为日期(Swift)?

如何以毫秒为单位获取firebase服务器的当前时间戳?

Android:从firebase获取当前日期和时间

如何将角度 UTC 时间戳转换为本地时间戳? [复制]