首页 > 解决方案 > Dart 以秒为单位查找字符串时间和现在日期之间的差异

问题描述

我有一个字符串"HH:mm",我想以秒为单位找到该字符串与现在时间之间的差异。

例如,如果现在是时间,2021-02-24 18:00:00.000000而我的字符串是,"00:30"那么结果应该是23400秒。

我如何在飞镖中做到这一点?

谢谢!

标签: flutterdart

解决方案


更新答案以使其更好地匹配您的问题。

好的,鉴于我从评论中了解到的答案,这里有一个建议。你当然可以减少它的表现力并组合这些行。

  final now = DateTime.parse('2021-02-24 18:00:00.000000');
  String time = '00:30';

  final dateFormat = DateFormat('yyyy-MM-dd');
  final todayString = dateFormat.format(now);
  String stringToParse = '$todayString $time:00';
  final parsedDateTime = DateTime.parse(stringToParse);
  final timeDifference = parsedDateTime.difference(now);
  int seconds = timeDifference.inSeconds > 0
      ? timeDifference.inSeconds
      : timeDifference.inSeconds + 86400;

  print(seconds.toString());

将打印23400


推荐阅读