Firebase Firestore:如何在Android的Kotlin中从几秒钟创建时间戳

Firebase firestore: how to create timestamp from seconds in Kotlin for Android

我正在尝试通过将秒数传递给它来创建一个Firebase Firestore时间戳对象,但是它不起作用。

这是代码段。

1
2
3
4
5
6
7
import com.google.firebase.Timestamp
import com.google.firebase.firestore.*


var timeStampString:String ="1438910477"
var t = timeStampString.toLong()
var ts = Timestamp(t)

我遇到错误:

1
2
3
None of the following functions can be called with the arguments supplied
<Init>(Parcel) defined in com.google.firebase.Timestamp
<Init>(Date) defined in com.google.firebase.Timestamp

我正在传递数字作为文档中提到的参数。但它期望的是"包裹"或"日期"。

我在做什么错?


从链接到的API文档中可以看到,构造函数需要两个数字参数,而不是一个。如果没有要传递的分量(以纳秒为单位),则传递0:

1
2
3
var timeStampString:String ="1438910477"
var t = timeStampString.toLong()
var ts = Timestamp(t, 0)

但是,当您可以直接对数字进行编码时,为什么将字符串解析为数字:

1
2
var t = 1438910477
var ts = Timestamp(t, 0)