首页 > 解决方案 > 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,
    )
  ]
});

在此处输入图像描述

标签: firebasefluttergoogle-cloud-firestore

解决方案


推荐阅读