0

好的..这是我觉得有趣的一个。我正在使用数据表来保存一堆值。我需要存储一个时间跨度。我可以为 TimeSpan 数据类型创建一个列。我能够将数据插入列中。现在是有趣的部分......

我需要提取 TimeSpan 数据并向其添加另一个 TimeSpan 数据值并重新保存。我看到没有办法从字符串中“.toTimeSpan”。这就是我试图把它从桌子上拿回来的方式。

所以......那里的任何人都有答案吗?

代码在 C# 中

4

2 回答 2

2

如果你已经它放在了DataTable,你不能只转换值吗?

TimeSpan span = (TimeSpan) row["foo"];
TimeSpan total = span + otherSpan;
row["foo"] = total;

我希望更棘手的一点是将它存储在数据库中——如果你将它存储在数据库中,我一开始就不会使用DataTable,我只是一个集合。

于 2012-08-23T20:01:58.647 回答
0

假设您只是将它们存储为字符串,这应该可以;

string dbSpanString = "03:50:03"; // From DB
TimeSpan span = TimeSpan.Parse(spanString);

如果存储为时间数据类型,您也可以使用 SqlDataReader.GetTimeSpan() 。

TimeSpan 的运算符重载,因此您可以使用 +/- 或 TimeSpan.Add。

于 2012-08-23T20:05:49.680 回答