如何从 TimeSpan 变量获取经过的时间到当前时间
How to get elapsed time from a TimeSpan variable to the current time
我正在尝试保留我的计时器,我在列表视图中有一个项目列表,因此当用户启动任何项目时,我想保留任何项目的计时器。我有一个时间跨度变量,它接受一个整数变量总时间,它被转换为分钟
//Get total time and convert to minutes
_TimeSpan = TimeSpan.FromMinutes(TimeSheet.TotalTime);
如何从 _TimeSpan 变量中获取运行时间,就像使用 DateTime.Now 一样,下面的示例使用 DateTime.Now 获取运行时间:
var startAt = DateTime.Now;
Application.Current.Properties["StartedAt"] = startAt;
Device.StartTimer(TimeSpan.FromSeconds(1), () =>
{
if (cts.IsCancellationRequested)
{
return false;
}
else
{
Device.BeginInvokeOnMainThread(() =>
{
TimeSpan _TimeSpan = DateTime.Now - startAt;
TxtTimer = _TimeSpan.ToString(@"hh\:mm\:ss");
});
return true;
}
});
您可以使用TimeSpan.Subtract
,然后传递您的解析值和当前时间。您可以使用 DateTime.Now.TimeOfDay
.
获取当前时间 TimeSpan
所以最后的结果应该是:
var difference = DateTime.Now.TimeOfDay.Subtract(_TimeSpan);
我正在尝试保留我的计时器,我在列表视图中有一个项目列表,因此当用户启动任何项目时,我想保留任何项目的计时器。我有一个时间跨度变量,它接受一个整数变量总时间,它被转换为分钟
//Get total time and convert to minutes
_TimeSpan = TimeSpan.FromMinutes(TimeSheet.TotalTime);
如何从 _TimeSpan 变量中获取运行时间,就像使用 DateTime.Now 一样,下面的示例使用 DateTime.Now 获取运行时间:
var startAt = DateTime.Now;
Application.Current.Properties["StartedAt"] = startAt;
Device.StartTimer(TimeSpan.FromSeconds(1), () =>
{
if (cts.IsCancellationRequested)
{
return false;
}
else
{
Device.BeginInvokeOnMainThread(() =>
{
TimeSpan _TimeSpan = DateTime.Now - startAt;
TxtTimer = _TimeSpan.ToString(@"hh\:mm\:ss");
});
return true;
}
});
您可以使用TimeSpan.Subtract
,然后传递您的解析值和当前时间。您可以使用 DateTime.Now.TimeOfDay
.
TimeSpan
所以最后的结果应该是:
var difference = DateTime.Now.TimeOfDay.Subtract(_TimeSpan);