首页 > 解决方案 > 如何将 TimeOfDay 转换为 int/num 以便我可以从中减去另一个数字?

问题描述

我想取 TimeOfDay 并将其转换为 num 以便我可以从中减去另一个 num 。一旦时间和其他数字相互减去,我想将总数转换回 TimeOfDay 格式。

我目前没有代码,因为我不知道从哪里开始。这可能吗?

标签: flutter

解决方案


回答您的意见和问题。

您可以使用标准DateTime类。下面的几个例子减去几个不同的Duration's.

DateTime now = new DateTime.now();

DateTime oneDayAgo = today.subtract(new Duration(days: 1));
DateTime oneHourAgo = today.subtract(new Duration(hours: 1));
DateTime thirtyMinutesAgo= today.subtract(new Duration(minutes: 30));
DateTime tenSecondsAgo = today.subtract(new Duration(seconds: 10));
DateTime oneDayOneHourAndThirtyMinuesAgo= today.subtract(new Duration(days: 1,hours:1, minutes:30, seconds:10));

然后如果你想格式化日期

import 'package:intl/intl.dart';

DateTime now = DateTime.now();
String formattedTime = DateFormat.Hms().format(now);
print(formattedTime);

参考

  1. 日期格式
  2. 约会时间
  3. 日期减法
  4. 期间

另请参阅差异方法以及如果您想计算两个日期之间的差异,这里是一个很好的答案


推荐阅读