flutter - Dart 以秒为单位查找字符串时间和现在日期之间的差异
问题描述
我有一个字符串"HH:mm"
,我想以秒为单位找到该字符串与现在时间之间的差异。
例如,如果现在是时间,2021-02-24 18:00:00.000000
而我的字符串是,"00:30"
那么结果应该是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
推荐阅读
- node.js - 如何从 log4js 中获取当前的实时日志数据?
- android-constraintlayout - 在 Constraintlayout 中水平对齐两个 TextView
- markdown - 使用 FrontMatter 来拉取 110 的相关帖子集合?
- sql - Row_Number 基于两列
- continuous-integration - 如何在 aws codebuild 中为 bitbucket 获取分支名称?
- batch-file - 如何使用批处理脚本执行两个十六进制数的按位或?
- json - 我将如何在 Ruby 中解析 JSON 以提供特定的输出
- python - 使用代码运行器停止时,Python 未捕获 KeyboardInterrupt
- excel - 使用 Excel js 进行 Excel 数据验证
- ruby-on-rails - Redmine 共享 API