Flutter Dart查找字符串时间和当前日期之间的差异(以秒为单位)

Flutter Dart查找字符串时间和当前日期之间的差异(以秒为单位),flutter,dart,Flutter,Dart,我有一个字符串“HH:mm”,我想找出该字符串到现在时间的差值(以秒为单位) 例如,如果现在的时间是2021-02-24 18:00:00.000000,而我的字符串是“00:30”,那么结果应该是23400秒 在dart中我该怎么做 谢谢 更新答案,使其更符合您的问题 好的,根据我从评论中了解到的答案,这里有一个建议。当然,您可以减少表达能力并合并行 final now = DateTime.parse('2021-02-24 18:00:00.000000'); String tim

我有一个字符串
“HH:mm”
,我想找出该字符串到现在时间的差值(以秒为单位)

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

在dart中我该怎么做


谢谢

更新答案,使其更符合您的问题

好的,根据我从评论中了解到的答案,这里有一个建议。当然,您可以减少表达能力并合并行

  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

更新的答案,以便更好地匹配您的问题

好的,根据我从评论中了解到的答案,这里有一个建议。当然,您可以减少表达能力并合并行

  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

到目前为止您尝试了什么?为什么是23400而不是63000?谢谢你的回答。。。我仍在努力将字符串解析为即将到来的日期时间,以便区分时间。它是23400,因为字符串表示即将到来的时间。这意味着现在时间和字符串时间之间有6.5小时。是的,我知道23400秒是6.5小时。我只是想知道你怎么知道时间总是意味着更晚的时间。就这一点而言,如何知道这只是第二天的时间,而不是从现在起的三天?如果字符串是19:00,你怎么知道它距离“现在”只有一个小时,而不是25小时?我的用户从接下来的24小时中选择一个小时。我不需要验证它,这只是一个事实。好的,我会添加基本的构建块作为答案,我希望你能从中管理!到目前为止你试过什么?为什么是23400而不是63000?谢谢你的回答。。。我仍在努力将字符串解析为即将到来的日期时间,以便区分时间。它是23400,因为字符串表示即将到来的时间。这意味着现在时间和字符串时间之间有6.5小时。是的,我知道23400秒是6.5小时。我只是想知道你怎么知道时间总是意味着更晚的时间。就这一点而言,如何知道这只是第二天的时间,而不是从现在起的三天?如果字符串是19:00,你怎么知道它距离“现在”只有一个小时,而不是25小时?我的用户从接下来的24小时中选择一个小时。我不需要验证它,这只是一个事实。好的,我会添加基本的构建块作为答案,我希望你能从中管理!