如何在 Kotlin 中将 Firestore 日期/时间戳转换为日期?

Ali*_*ran 4 android kotlin firebase google-cloud-firestore

我正在使用 firestore,当我从 firestore 获取时间戳时卡住了。我如何Timestamp(seconds=1556006384, nanoseconds=994000000)在 kotlin 中将其转换为 Date。

我的最小 SDK 是 21,所以下面的代码不起作用

val timestamp = it["time"] as com.google.firebase.Timestamp
val milliseconds = timestamp.seconds * 1000 + timestamp.nanoseconds / 1000000
val tz = ZoneId.of("Asia/Jakarta (UTC+07:00)")
val localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(milliseconds), tz)
Run Code Online (Sandbox Code Playgroud)

谢谢你。

Dou*_*son 10

调用toDate()Firestore Timestamp对象以返回 Date 对象。


Ali*_*ran 5

我正在使用此代码:

val timestamp = it["time"] as com.google.firebase.Timestamp
val milliseconds = timestamp.seconds * 1000 + timestamp.nanoseconds / 1000000
val sdf = SimpleDateFormat("MM/dd/yyyy")
val netDate = Date(milliseconds)
val date = sdf.format(netDate).toString()
Log.d("TAG170", date)
Run Code Online (Sandbox Code Playgroud)


Mr.*_*ity 5

将上面的两个答案结合起来,这对我有用。

val timestamp = data[TIMESTAMP] as com.google.firebase.Timestamp
            val date = timestamp.toDate()
Run Code Online (Sandbox Code Playgroud)