如何显示从时间戳经过的时间?

birca123

更准确地说,我想显示自从API提取时间戳以来经过的分钟数。应该Stopwatch还是Timer被使用,或者其他?

杰伊德夫

我建议像下面这样。您可以更新与计时器关联的持续时间,以定义其重建小部件的频率。

我还要由您来决定如何设置持续时间。

class ElapsedTime extends StatefulWidget {
  final String timestamp;

  const ElapsedTime({
    Key key,
    @required this.timestamp,
  }) : super(key: key);

  @override
  _ElapsedTimeState createState() => _ElapsedTimeState();
}

class _ElapsedTimeState extends State<ElapsedTime> {
  Timer _timer;

  DateTime _initialTime;
  String _currentDuration;


  @override
  void didUpdateWidget(ElapsedTime oldWidget) {
    super.didUpdateWidget(oldWidget);

    if(widget.timestamp != oldWidget.timestamp) {
      _initialTime = _parseTimestamp();
      _currentDuration = _formatDuration(_calcElapsedTime());
    }
  }

  @override
  void initState() {
    super.initState();

    _initialTime = _parseTimestamp();
    _currentDuration = _formatDuration(_calcElapsedTime());

    _timer = Timer.periodic(const Duration(seconds: 1), (Timer t) {
      setState(() {
        _currentDuration = _formatDuration(_calcElapsedTime());
      });
    });
  }

  Duration _calcElapsedTime() => _initialTime.difference(DateTime.now());

  DateTime _parseTimestamp() => DateTime.parse(widget.timestamp);

  // TODO update this to fit your own needs
  String _formatDuration(final Duration duration) => duration.toString();

  @override
  void dispose() {
    _timer?.cancel();

    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Text(_currentDuration);
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批次:计算从时间戳经过的时间

来自分类Dev

如何检查从时间戳经过的天数-计算午夜的天数

来自分类Dev

如何正确显示QT上的时间戳?

来自分类Dev

如何在Google Colab中禁用执行信息(执行时间戳,经过的时间,用户等)?

来自分类Dev

如何从给定的unix时间戳获取到现在为止的经过时间

来自分类Dev

如何获取dql中两个时间戳之间经过的时间(以秒为单位)?

来自分类Dev

如何显示经过的时间而不是保留在Rhythmbox中?

来自分类Dev

重击:计算两个时间戳之间经过的时间

来自分类常见问题

当我没有参数时,如何从时间戳显示时间并显示当前时间?

来自分类Dev

当我没有参数时,如何从时间戳显示时间并显示当前时间?

来自分类Dev

如何更新经过的时间

来自分类Dev

如何获得经过的时间呢?

来自分类Dev

HighChart时间戳现在突出显示时间

来自分类Dev

反应-显示Firestore时间戳

来自分类Dev

在吐司上显示时间戳

来自分类Dev

在 dataGridView 中显示时间戳

来自分类Dev

如何显示完成百分比,经过时间和估计时间进度?

来自分类Dev

如何显示自上次使用“正常运行时间”启动系统以来经过的时间?

来自分类Dev

如何显示自上次使用“正常运行时间”启动系统以来经过的时间?

来自分类Dev

如何显示完成百分比,经过时间和估计时间进度?

来自分类Dev

如何获取与ID相关联的所有时间戳,并将其汇总为经过的总时间?

来自分类Dev

PS1提示以显示经过的时间

来自分类Dev

在foobar 2000中显示经过的时间

来自分类Dev

Cassandra cqlsh-如何显示时间戳列的微秒/毫秒?

来自分类Dev

如何创建仅在表中显示日期部分的时间戳

来自分类Dev

如何在cshtml中按用户位置显示时间戳

来自分类Dev

如何在后端显示Django时间戳

来自分类Dev

如何创建仅在表中显示日期部分的时间戳

来自分类Dev

如何显示所有8个NTFS时间戳?

Related 相关文章

  1. 1

    批次:计算从时间戳经过的时间

  2. 2

    如何检查从时间戳经过的天数-计算午夜的天数

  3. 3

    如何正确显示QT上的时间戳?

  4. 4

    如何在Google Colab中禁用执行信息(执行时间戳,经过的时间,用户等)?

  5. 5

    如何从给定的unix时间戳获取到现在为止的经过时间

  6. 6

    如何获取dql中两个时间戳之间经过的时间(以秒为单位)?

  7. 7

    如何显示经过的时间而不是保留在Rhythmbox中?

  8. 8

    重击:计算两个时间戳之间经过的时间

  9. 9

    当我没有参数时,如何从时间戳显示时间并显示当前时间?

  10. 10

    当我没有参数时,如何从时间戳显示时间并显示当前时间?

  11. 11

    如何更新经过的时间

  12. 12

    如何获得经过的时间呢?

  13. 13

    HighChart时间戳现在突出显示时间

  14. 14

    反应-显示Firestore时间戳

  15. 15

    在吐司上显示时间戳

  16. 16

    在 dataGridView 中显示时间戳

  17. 17

    如何显示完成百分比,经过时间和估计时间进度?

  18. 18

    如何显示自上次使用“正常运行时间”启动系统以来经过的时间?

  19. 19

    如何显示自上次使用“正常运行时间”启动系统以来经过的时间?

  20. 20

    如何显示完成百分比,经过时间和估计时间进度?

  21. 21

    如何获取与ID相关联的所有时间戳,并将其汇总为经过的总时间?

  22. 22

    PS1提示以显示经过的时间

  23. 23

    在foobar 2000中显示经过的时间

  24. 24

    Cassandra cqlsh-如何显示时间戳列的微秒/毫秒?

  25. 25

    如何创建仅在表中显示日期部分的时间戳

  26. 26

    如何在cshtml中按用户位置显示时间戳

  27. 27

    如何在后端显示Django时间戳

  28. 28

    如何创建仅在表中显示日期部分的时间戳

  29. 29

    如何显示所有8个NTFS时间戳?

热门标签

归档