如何将选定的时间戳转换为 firebase 服务器时间戳 android

How to convert selected timestamp into firebase server timestamp android

我想将输入的时间戳转换为 Firebase 服务器时间戳 Android

例如,选择的时间戳是 -> 1631724053。请注意,此时间戳是从所选日期获取的。

要转换的时间戳(firebase 服务器时间戳)是 -> 2021 年 1 月 1 日 3:37:59 下午 UTC+5:30

提前致谢

您没有指定您使用的是 Java 还是 Kotlin,但是您可以创建一个 Firestore Timestamp from an Android date

调用 Timestamp 构造函数时,您将传入日期对象,因此请确保您使用的是 Android 文档中概述的有效日期。

Firestore Timestamp 类型的对象表示:

A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time.

正如@Hydra 在她的评论中已经提到的那样,您可以将 long 值转换为:

1631724053

其中实际代表:

Wednesday, September 15, 2021 4:40:53 PM

进入 Firestore 对象将时间纪元绕过到构造函数。然而,处理这种情况更合适的方法是使用 FieldValue.serverTimestamp(),它实际上是一个令牌,它被发送到 Firebase Firestore 服务器,实际的时间戳在这里被确定并写入数据库。