首页 > 其他分享 >flutter 定时器

flutter 定时器

时间:2024-05-20 13:52:27浏览次数:22  
标签:定时器 padLeft int difference2 timer seconds toString flutter

Timer? _timer;
var periodicTime="".obs;
initTimer({required int createTime,required int duration}) async {

  _timer = Timer.periodic(const Duration(seconds: 1), (timer) async {

    DateTime currentTime = DateTime.now();
    var now = (currentTime.millisecondsSinceEpoch / 1000).truncate();
    int difference1 = (now - createTime).toInt();
    int difference2 = (duration - difference1).toInt();

    int hours = difference2 ~/ 3600; // 小时数
    int minutes = (difference2 % 3600) ~/ 60; // 分钟数
    int seconds = difference2.toInt() % 60; // 秒数
    if (difference1 >= duration) {
      if (!_timer!.isActive) {
        _timer?.cancel();
      }
      _timer?.cancel();
    }
    if(periodicTime.startsWith("-")){
      _timer?.cancel();
    }
    if(hours>24){
      periodicTime.value= '1天${(hours-24).toString().padLeft(
          2, '0')}小时${minutes.toString().padLeft(
          2, '0')}分${seconds.toString().padLeft(2, '0')}';
    }else{
      periodicTime.value= '${hours.toString().padLeft(2, '0')}:${minutes.toString().padLeft(
          2, '0')}:${seconds.toString().padLeft(2, '0')}';
    }
    }
  );

}

标签:定时器,padLeft,int,difference2,timer,seconds,toString,flutter
From: https://www.cnblogs.com/wufong/p/18201734

相关文章

  • flutter动画— —Hero +photo_view 实现微信朋友圈图片预览
    photo_view预览单张图片依赖photo_view:^0.14.0#微信图片单张图片的预览//PhotoView(//imageProvider://NetworkImage(widget.arguments["imageUrl"]),//)classHeroPageextendsStatefulWidget{finalMaparguments;constHeroPage({super.key,req......
  • flutter动画— —Hero 动画
    Hero动画Hero动画的使用微信朋友圈点击小图片的时候会有一个动画效果到大图预览,这个动画效果就可以使用Hero动画实现。Hero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换。 页面跳转......
  • flutter 运行ios真机测试 提示 Command PhaseScriptExecution failed with a nonzero
    我这边引起CommandPhaseScriptExecutionfailedwithanonzeroexitcode的原因是我刚更换了推送证书,于是我打开钥匙串访问发现推送证书处于不受信任状态,于是把证书状态设置为信任状态并删除了旧的推送证书,设置完成后再去运行,就可以成功运行了。这是我这边的单一情况,......
  • 看门狗,定时器是什么
    它的主要功能是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位,当看门狗没有被定时清零时,将引起复位几乎所有的嵌入式操作系统都有看门狗任务,它的主要功能是防止系统死掉或者陷入死循环。也就是每个一定的时间就会执行看门狗任务,以reset系统.看门狗其实就是......
  • 记录一次定时器报错
    报错前因后果:我现在使用Winform开发上位机程序,读取PLC传递过来的CT,1、我将定时器方法InitTimerTick();写在构造器或者Load事件起作用2、如果写在后台线程不起作用,也不报错,我打断点查询的时候,发现InitCommonRegion方法没有执行,我向上查找,最终断点打在timer.Tick+=newEventHa......
  • flutter开发项目编译失败依赖冲突的解决方法dependency_overrides
    1.问题在复杂的稍等大点的flutter项目当中,依赖各种第三方框架是很正常,而且也有有很多依赖的,但有时难免存在不同的框架刚好使用了同一个依赖库的不同版本,特别是依赖了系统的某个库的不同版本这个时候就难免会出现同一个依赖库不同版本冲突的编译失败问题2.现象Becauseflut......
  • flutter控件之Text属性的意思
    constText(Stringthis.data,{super.key,this.style,this.strutStyle,this.textAlign,this.textDirection,this.locale,this.softWrap,this.overflow,@Deprecated('UsetextScalerinstead.''UseoftextScaleFactorwasdeprecatedinprepar......
  • flutter开发ios15出现name = 'io.flutter.1.raster', stop reason = signal SIGABRT崩
    1.问题描述为了适应ios上架要求,我们项目升级了flutter升级到3.19.6的,但是莫名其妙出现了这个崩溃,最关键的是没有关键的崩溃日志,不管是flutter侧还是ios原生侧都看不出哪行代码引起的2.问题排查首先,通过崩溃日志的关键字'io.flutter.1.raster',其实的raster就是光栅化的意思......
  • Flutter开发相关技巧--持续更新
    1.设置Container宽度(占一半以及占满)一半的设置:Container(color:Colors.white,//背景色为白色Zwidth:MediaQuery.of(context).size.width/2,//宽度占一半)还可以减去padding或者margin的宽度width:MediaQuery.of(context).size.width/3-2,//减去线......
  • requestAnimationFrame模拟定时器
    const{ myInterval,clearMyInterval}=(function(){ //存放系统中的定时器id lettimerIdMap={num:0} functionmyInterval(callback,interval){ //每设置一次定时器,num++代表系统中有num个自定义的定时器 ......