我想将 TimeOfDay 转换为数字,以便我可以从中减去另一个数字。一旦时间和其他数字相减,我想将总数转换回 TimeOfDay 格式。
我目前没有代码,因为我不知道从哪里开始。这可能吗?
回答您的评论和问题。
您可以使用标准的
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);
参考文献
final timeOfDay = TimeOfDay(hour: 2, minute: 10);
final minutes = Duration(
hours: timeOfDay.hour,
minutes: timeOfDay.minute).inMinutes - 66;
final newValue = TimeOfDay(hour: minutes ~/ 60, minute: minutes % 60);