【发布时间】:2020-06-11 13:55:06
【问题描述】:
我在 GCP 上部署了一个 .netcore 服务,该服务将实体保存在 GCP Datastore 数据库中。实体具有 Datetime 属性,但日期未正确保存。正如 GCP Datastore 所代表的那样,我确实将实体中的所有日期属性设置为 UTC 日期,但是在保存实体时,似乎日期属性正在添加时区偏移量。例如,我保存了一个具有属性“createdAt”的实体:“2020-06-10 10:36:00.000z”,当我导航到 Datastore GCP 控制台时,我可以看到它已保存为“2020-06-10 (14:36:30.000) CEST"。
有什么想法吗?
编辑
为了澄清我的示例,我的当地时间是“2020-06-10 (12:36:30.000) CEST”。根据 Datastore.V1 网络客户端的要求,我将时间转换为 UTC,因此它是“2020-06-10 10:36:00.000z”,但它存储为“2020-06-10 (14:36:30.000) CEST”。
此日期来自从 GMail API 读取的电子邮件,它是电子邮件的接收日期。
该服务在法兰克福 (europe-west-3) 托管的 App Engine 应用程序中运行。有趣的是,如果我在 labtop 本地运行服务,日期保存得很好?!?!?!?
【问题讨论】:
-
你能分享你用来保存日期的函数的代码片段吗?默认情况下,App Engine 有一个 UTC 时间,我想尝试在我这边复制这个问题。
-
我们最终决定迁移到 PostgresQL。 GCP Datastore 很棒,但它有一些查询限制,我们可以轻松绕过
标签: .net-core google-cloud-platform google-cloud-datastore