如何将 Firestore 时间与 Go time.Now() 进行比较?
How can I compare Firestore time with Go time.Now()?
我使用 Go 构建我的游戏服务器。我将比较来自 time.Now()
的时间和来自 Firestore 字段的时间。我怎样才能在 Go 中做到这一点?
playerDataSnap, err := Instace.FireStoreClient.Collection("PlayerData").Doc(playerUID).Get(Instace.Context)
if err != nil {
log.Printf("EventModeFee Get PlayerData Fail: %v", err)
return
}
playerData := playerDataSnap.Data()
if value, exist := playerData["EventPlayTimes"]; exist {
eventPlayTimes = value.(int64)
}
if discount_Subscribe > 0 {
if value, exist := playerData["SubscriptionExpiredDate"]; exist { //Get Subscribe expired time
var expireTimeStamp = value //<-------------timestamp from firestore field
if time.Now().Before(expireTimeStamp) {//<---------------expireTimeStamp is not a valid type, but How can I convert it to a valid type
isSubscribed = true
}
}
}
expireTimeStamp
不是有效类型,但如何将其转换为有效类型?
事实证明,我可以使用以下代码直接断言从 Firestore 字段到 time.Time
的时间戳:
if time.Now().Before(expireTimeStamp.(time.Time)) {
isSubscribed = true
}
我使用 Go 构建我的游戏服务器。我将比较来自 time.Now()
的时间和来自 Firestore 字段的时间。我怎样才能在 Go 中做到这一点?
playerDataSnap, err := Instace.FireStoreClient.Collection("PlayerData").Doc(playerUID).Get(Instace.Context)
if err != nil {
log.Printf("EventModeFee Get PlayerData Fail: %v", err)
return
}
playerData := playerDataSnap.Data()
if value, exist := playerData["EventPlayTimes"]; exist {
eventPlayTimes = value.(int64)
}
if discount_Subscribe > 0 {
if value, exist := playerData["SubscriptionExpiredDate"]; exist { //Get Subscribe expired time
var expireTimeStamp = value //<-------------timestamp from firestore field
if time.Now().Before(expireTimeStamp) {//<---------------expireTimeStamp is not a valid type, but How can I convert it to a valid type
isSubscribed = true
}
}
}
expireTimeStamp
不是有效类型,但如何将其转换为有效类型?
事实证明,我可以使用以下代码直接断言从 Firestore 字段到 time.Time
的时间戳:
if time.Now().Before(expireTimeStamp.(time.Time)) {
isSubscribed = true
}