好的..这是我觉得有趣的一个。我正在使用数据表来保存一堆值。我需要存储一个时间跨度。我可以为 TimeSpan 数据类型创建一个列。我能够将数据插入列中。现在是有趣的部分......
我需要提取 TimeSpan 数据并向其添加另一个 TimeSpan 数据值并重新保存。我看到没有办法从字符串中“.toTimeSpan”。这就是我试图把它从桌子上拿回来的方式。
所以......那里的任何人都有答案吗?
代码在 C# 中
好的..这是我觉得有趣的一个。我正在使用数据表来保存一堆值。我需要存储一个时间跨度。我可以为 TimeSpan 数据类型创建一个列。我能够将数据插入列中。现在是有趣的部分......
我需要提取 TimeSpan 数据并向其添加另一个 TimeSpan 数据值并重新保存。我看到没有办法从字符串中“.toTimeSpan”。这就是我试图把它从桌子上拿回来的方式。
所以......那里的任何人都有答案吗?
代码在 C# 中
如果你已经把它放在了DataTable
,你不能只转换值吗?
TimeSpan span = (TimeSpan) row["foo"];
TimeSpan total = span + otherSpan;
row["foo"] = total;
我希望更棘手的一点是将它存储在数据库中——如果你不将它存储在数据库中,我一开始就不会使用DataTable
,我只是一个集合。
假设您只是将它们存储为字符串,这应该可以;
string dbSpanString = "03:50:03"; // From DB
TimeSpan span = TimeSpan.Parse(spanString);
如果存储为时间数据类型,您也可以使用 SqlDataReader.GetTimeSpan() 。
TimeSpan 的运算符重载,因此您可以使用 +/- 或 TimeSpan.Add。