c# - 如何获取从 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
然后传递您的解析值和当前时间。您可以TimeSpan
使用DateTime.Now.TimeOfDay
.
所以最终的结果应该是:
var difference = DateTime.Now.TimeOfDay.Subtract(_TimeSpan);
推荐阅读
- javascript - CKEditor 5 工具栏显示为灰色
- php - 添加处理程序在 htaccess
- python - 出现错误:尝试训练机器学习模型时 Python 预处理失败
- sql-server - 该表不支持“updatedAt”系统属性
- php - 在 Laravel Nova 中使用带有指标的模型(资源)属性(访问器)
- python - Python Pandas - 合并不同大小的数据帧并用匹配的列替换行中的值
- google-apps-script - 如何将公式生成的二维码作为图像放置在谷歌文档中(导出为 PDF)?
- python - Flask 会话:文件系统的 OSError:[Errno 36] 文件名太长
- protractor - 从 Protractor 迁移到 Cypress 自动化测试框架
- python - pysnmp - 在 Cisco 交换机上使用 snmpv3 拉取每个 vlan 的 MAC 地址表