首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云修复:在云函数中过滤当前日期的文档

云修复:在云函数中过滤当前日期的文档
EN

Stack Overflow用户
提问于 2019-12-23 14:18:13
回答 1查看 361关注 0票数 1

我已经将包含用户日期和时区的createdAt字段存储在Firestore文档中。例如(2019年12月22日晚上9:21:42,协调世界时-3)

然后,我有一个云函数,在这里我想检索所有的今天文档。问题是云函数不知道Timezone,当检索不同时区的文档时,这会变得很混乱。

代码语言:javascript
复制
const now: Date = new Date();

const docQuery = await db
   .collection('users')
   .where('createdAt', '>', new Date(now.getFullYear(), now.getMonth(), now.getDate()))
   .where('createdAt', '<', new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59))
   .get();

now日期以UTC-0为单位,如果我有前一天22:00 UTC-3的文档,查询将检索它,但在技术上它不是“今日”文档。

对如何解决这个问题有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-23 14:50:15

在防火墙文档中使用timestamp而不是日期。

代码语言:javascript
复制
ref.doc(key).set({
  created : firebase.firestore.Timestamp.fromDate(new Date("December 10, 1815 19:00:00 EST"))
}) 

时间戳表示与任何时区或日历无关的时间点,以秒和秒的分数表示,在UTC时代,秒的分辨率为纳秒。

然后,可以使用toDate()方法将时间戳转换为Date对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59456835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档