【问题标题】:Flutter code error: type 'Duration' is not a subtype of type 'Timer'颤振代码错误:类型“持续时间”不是“定时器”类型的子类型
【发布时间】:2021-09-23 03:17:35
【问题描述】:

我正在计算flutter秒表的持续时间,当用户退出应用程序时,我收到上述类型的错误,如何将持续时间转换为DateTime格式,解析不起作用。

  1. 这是我从 sqflite 获得的旧时间,我将其存储为字符串,然后解析为 DateTime

  2. 还有一个新的时间

      getData() {
    
       Future<List<smokingData>> list =
        UserDatabase.instance.retrieveSmokingData();
    
       list.then((value) => {
        value.forEach((element) {
         _preTime = element.preTime;
        })
       }).then((value) {
       setState(() {
        var predata = DateTime.parse(_preTime);
        updatedTime = newTime.difference(predata);
       });
    
        print(updatedTime);
    }   
    

前数据是上一次,我存储在 sqflite 中 字符串

UpdatedTime 是新旧时间之间的持续时间

print(updatedTime)...给出我想转换为 DateTime 格式的持续时间的正确答案

最后,我想将持续时间分配给秒表(在持续时间之后开始计数)和颤振循环计时器

【问题讨论】:

  • 应该可以在 stackoverflow 上阅读和回答问题,而无需点击多个站外链接。
  • 嗨!请添加格式化代码而不是截图

标签: flutter datetime stopwatch sqflite


【解决方案1】:

使用下面的自定义秒或毫秒,看看它是否适合您

获取当前日期

         getCurrentDate() {
            var date = new DateTime.fromMillisecondsSinceEpoch(12345678)
                .toString();

            print("date is + $date");
            var dateParse = DateTime.parse(date);

            var formattedDate =
                "${dateParse.day}-${dateParse.month}-${dateParse.year} | " +
                    "${dateParse.hour}:${dateParse.minute}:${dateParse.second}";

            return formattedDate;
          }

12345678 是包含所有数据的示例持续时间

【讨论】:

  • 我没有收到您的代码,filterorder[i] 是什么?
  • 兄弟你的代码很有用,我是否必须传递更新的时间(这是前一次的持续时间和 DateTime.now() ),而我传递它而不是'12345678',我收到错误,例如“类型“持续时间”不是“int”类型的子类型
  • @navidanchitrali 您可以用您尝试过的内容更新问题吗?如果我能看到你在哪一行得到类型异常,我可以提供帮助
  • 请正确构建代码。我无法理解@navidanchitrali
猜你喜欢
  • 2021-10-11
  • 1970-01-01
  • 2022-08-23
  • 2019-08-05
  • 2021-10-21
  • 2020-01-01
  • 2021-10-08
  • 2021-08-09
  • 2019-08-14
相关资源
最近更新 更多