首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振可编程定时器

颤振可编程定时器
EN

Stack Overflow用户
提问于 2022-05-16 13:46:38
回答 1查看 45关注 0票数 0

我想为我的学校项目建立婚礼应用程序。我不能建一个可编程的计时器。用户应将计时器设置为"10周后“,计时器开始倒计时至9周、23小时等。对如何实现我的目标有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-17 09:03:55

要完成这项任务,您应该遵循以下几个步骤:

  1. 您必须让用户选择日期和/或时间。
  2. 您必须计算剩余的字符串(x年、x月、x天等)。
  3. 将其显示给用户。
  4. 开始一个计时器,这将更新UI。
代码语言:javascript
复制
//Timer

Timer.periodic(const Duration(seconds: 1), (timer) {
  //every 1 second, the state will be updated
  setState(() {});
});

//remainingTime calculator
//you have to put this string to a Text widget
String get  _calculateRemainingTime{
    Duration remainingDuration = widget.date.difference(DateTime.now());

    if(remainingDuration.inSeconds <= 0){
      return 'Time has come';
    }

    int remainingSeconds = remainingDuration.inSeconds % 60;

    int remainingMinutes = remainingDuration.inMinutes % 60;

    int remainingHours = remainingDuration.inHours % 24;

    int remainingDays = remainingDuration.inDays;

    int remainingMonths = remainingDays ~/ 30;

    int remainingYears = remainingMonths ~/ 12;

    remainingDays = remainingDays % 30;

    remainingMonths = remainingMonths % 12;


    return '${remainingYears != 0 ? remainingYears.toString() + ' years' : ''} ${remainingMonths != 0 ? remainingMonths.toString() + ' months' : ''} ${remainingDays != 0 ? remainingDays.toString() + ' days' : ''} ${remainingHours != 0 ? remainingHours.toString() + ' hours' : ''} ${remainingMinutes != 0 ? remainingMinutes.toString() + ' minutes' : ''} ${remainingSeconds != 0 ? remainingSeconds.toString() + ' seconds' : ''}';
  }

我在github页面上有一个示例:颤振定时器示例

如果你需要进一步的帮助,告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72260262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档