【问题标题】:Raspberry Pi - Firestore timestamp issueRaspberry Pi - Firestore 时间戳问题
【发布时间】:2018-05-19 23:34:03
【问题描述】:

所以在我的项目中,我正在尝试将时间戳发送到我的 Firestore 数据库。当我在我的 python 代码中测试我的日期时间时,它会给我正确的日期和时间,在将数据发送到 firestore 后,数据库中的时间戳数据总是比当前时间 +8 小时

从 2018-05-20 07:11:19.833275 到 2018-05-20 15:11:19.833275

其他一切都是正确的,即使是时区,只是小时除外。顺便说一句,我们的时区是 UTC+8。 我不明白我做错了什么。

这是我的代码:

import firebase_admin
from firebase_admin import credentials
from google.cloud import firestore
from firebase_admin import firestore
import datetime, sys

now = datetime.datetime.now()

# Use a service account
cred = credentials.Certificate('*some key*')
firebase_admin.initialize_app(cred)
db = firestore.client()
path = db.collection("*somepath*")

doc_ref = path.document()
doc_ref.set({
    'date': now,
    'rate': 60,
    'used': 1
})


print ("current: %s" %now)

【问题讨论】:

  • 为什么你得到now,然后通过datetime.datetime.now()
  • 抱歉,让我编辑一下。我忘记改了
  • 你解决了吗?

标签: python timestamp google-cloud-firestore raspberry-pi3


【解决方案1】:

要获得更一致的时间戳,请考虑使用 Firestore SERVER_TIMESTAMP 常量:

doc_ref.set({
    'date': firestore.SERVER_TIMESTAMP,
    'rate': 60,
    'used': 1
})

https://google-cloud-python.readthedocs.io/en/latest/firestore/constants.html

如果需要,您可以在客户端转换您的时间戳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 2019-03-05
    • 2019-11-29
    相关资源
    最近更新 更多