【问题标题】:type 'Timestamp' is not a subtype of type 'DateTime'“Timestamp”类型不是“DateTime”类型的子类型
【发布时间】:2021-09-18 07:07:19
【问题描述】:

当我从 Firestore 文档中获取时间戳数据元素然后尝试将其转换为 DateTime 类型并将其放入 TextEditingController 时,我遇到了类型不匹配。我正在尝试使用 firestore 文档中的数据填充应用程序表单。

这是屏幕截图:

这是我用来转换和分配数据的代码:

var dtDate = DateTime.fromMicrosecondsSinceEpoch(currentEvent.get('eventDate'));
      eventDateController.text = DateFormat.yMMMd().format(dtDate).toString();

在同一页面上,我使用以下代码(有效)从日期选择器插件中获取日期和时间:

if (_date != null && _date != _datePicked) {
                        setState(() {
                          eventDateController.text =
                              DateFormat("MM/dd/yyyy").format(_datePicked!);
                          eventProvider.changeeventdate(_datePicked);
                          _selectedDate = _datePicked;
                          //DateFormat("MM/dd/yyyy").format(_date));
                        });
                      }


This is the code for getting the time:
TimeOfDay _timePicked = await (showTimePicker(
                        context: context,
                        initialTime: new TimeOfDay.now()) as FutureOr<TimeOfDay>);
                    _dt = DateTime(_selectedDate!.year, _selectedDate!.month, _selectedDate!.day, _timePicked.hour, _timePicked.minute);
                    //if (_timePicked != null) {
                      setState(() {
                        eventStartTimeController.text = dateFormat.format(_dt); //_timePicked.format(context);
                        eventProvider.changeeventstarttime(_dt);
                      });
                    //}
                  },

这是我得到的错误:

类型“时间戳”不是类型“日期时间”的子类型

我该如何解决这个问题?

【问题讨论】:

  • 你能查出currentEvent.get('eventDate')DateTime还是TimeStamp
  • 这是一个时间戳,因为它来自 Firestore 文档。

标签: flutter datetime timestamp


【解决方案1】:

在其他几篇文章的帮助下,我终于弄明白了。这就是答案:

eventDateController.text = DateFormat('EE MMddyyyy').format(currentEvent['eventDate'].toDate());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2020-08-31
    • 2021-11-20
    • 1970-01-01
    • 2020-06-26
    • 2021-04-16
    相关资源
    最近更新 更多