【发布时间】:2021-11-06 20:04:20
【问题描述】:
我正在尝试保留我的计时器,我在列表视图中有一个项目列表,因此当用户启动任何项目时,我想保留任何项目的计时器。我有一个时间跨度变量,它接受一个整数变量总时间,转换为分钟
//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;
}
});
【问题讨论】:
-
我把你推荐给documentation。
-
您实际上想要做什么?如果你想测量时间,秒表是个好方法。 Timespan 已经表示经过的时间,所以你的问题对我来说没有多大意义。
-
@JonasH 我正在尝试坚持我的计时器
-
您不能持久化计时器。你可以持久化一个 timestamp 用于计时相关的事情。还有many ways to get such timestamps
标签: c# xamarin.forms mvvm