firebase - Firestore 中的访问日期
问题描述
我正在尝试从 firestore 添加时间戳以填充日历。日历就是这个插件
Future<void> getCalendarEventList() async {
await Firestore.instance.collection('availableDates').snapshots().listen(
(data) => data.documents.forEach((doc) => _markedDateMap.add(
new DateTime(doc['availableDates']),
new Event(
date:DateTime(doc['availableDates']),
title: 'hello',
icon: _eventIcon))));
setState(() {});
}
@override
void initState() {
getCalendarEventList();
super.initState();
}
我让它在一个阶段工作,但由于某种原因它不再填充日历。回想起来,日历中只有一些日期。我删除了那些有效的!(填充)。无论如何,我可能会叫错树。这是我的后端和地图的图片:
使用给定日期初始化地图_markedDateMap
会填充日历:
DateTime(2019, 5, 24)
我注意到 DateTime 对象还有 5 个参数可以使用..即包括微秒在内的时间。这些都设置为零。但是,如果我更改其中一个字段,日期将不会填充日历。所以我认为我的问题在于firestore中时间戳的时间部分(即不是日期)。例如DateTime(2019, 5, 24,0,0,0,0,0)
,这可行,但这不是DateTime(2019, 5, 24,12,0,0,0,0)
我想我的问题可以概括为如何DateTime(2019, 5, 24,0,0,0,0,0)
在firestore中表示为时间戳
EventList<Event> _markedDateMap = new EventList<Event>(events: {
new DateTime(2019, 5, 24): [
new Event(
date: new DateTime(2019, 1, 24),
title:'hi',
icon: _eventIcon,
)
]
});
解决方案
推荐阅读
- apache-spark - 没有足够的空间在内存中缓存 Dataframe
- .net - .NET Core Entity Framework 保存空间地理数据类型 SQL Server
- arrays - Swift:如何替换数组中的大写符号
- javascript - 如何在 amp-mustache 模板变量中使用 toLowerCase 方法
- java - 哪个测试卡号在印度被条纹使用?
- php - 密钥存在时如何解决“未定义索引”错误?
- python - 只有当它是基类时,如何让类中的代码运行?
- elasticsearch - 弹性搜索列出具有时间范围的匹配条件的所有键
- python - 如何使 func.sum 和 group_by 输出行的总和并使用 sqlalchemy 合并重复的行
- c++ - 如何使用 C++ 11 样式的非默认构造分配器指定初始大小?