我有一个屏幕,显示从开始到结束的持续时间的百分比。开始和结束时间是从TimeOfDay中获取的,我添加了日期以生成DateTime. millisecondsSceEpoch整数。
现在我可以通过简单的减法求出开始和结束之间的时间差。如何将我得到的值更改为一分钟来计算百分比。当我把它转换回日期;输出不是时差,而是新的日期。
int trainingStartInEpoch = DateTime(trainingDateYear, trainingDateMonth, trainingDateDay, trainingStartHour, trainingStartMinutes).millisecondsSinceEpoch;
int trainingEndInEpoch = DateTime(trainingDateYear, trainingDateMonth, trainingDateDay, trainingEndHour, trainingEndMinutes).millisecondsSinceEpoch;
int timeDiff = trainingEndInEpoch - trainingStartInEpoch;
final DateTime date2 = DateTime.fromMillisecondsSinceEpoch(timeDiff);
print("epochDiff if posetive" " $timeDiff");
print("difDate if posetive" " $date2");
下面是输出
epochDiff if positive 14400000
difDate if positive 1970-01-01 07:00:00.000
1条答案
按热度按时间pepwfjgg1#
一个简单的方法是在
DateTime
中使用.difference()
函数。例如:您可以使用
.inMinutes
属性获取总时长,单位为分钟,还可以获取秒、小时、天等。