在Firestore中的访问日期

时间:2019-05-13 16:26:44

标签: firebase flutter google-cloud-firestore

我正在尝试从Firestore添加时间戳以填充日历。日历是这个plugin

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)无效,我想我的问题可以概括为:如何在Firestore中将DateTime(2019, 5, 24,0,0,0,0,0)表示为时间戳

EventList<Event> _markedDateMap = new EventList<Event>(events: {
  new DateTime(2019, 5, 24): [
    new Event(
      date: new DateTime(2019, 1, 24),
      title:'hi',
      icon: _eventIcon,
    )
  ]
});

enter image description here

0 个答案:

没有答案