Arif Eqbal 发表的评论代码如下将 TimeSpan 转换为 DateTime
上述问题是转换返回的天数不正确,如 TimeSpan 中指定的那样。使用上面的,下面返回 3 而不是指定的 2。分钟和秒被保留。~~ 关于如何在 TimeSpan 参数中保留 2 天并将它们作为 DateTime 日期返回的想法?
此转换的第二个问题是,如果我想将天数添加到 TimeSpan 中的小时数并将它们作为 DateTime 小时数返回,例如 Format = "hh:mm" 或 49:30,则无法添加DateTime 对象中的小时数。本质上,我想将 TimeSpan.TotalHours 转换为 DateTime 对象的 Hours 组件。我知道这可能需要进行字符串转换,但 .Net 3.5 中似乎没有一个优雅的解决方案。不幸的是,我没有 4.0 或 4.5 的转换器。
public void test()
{
// Arif Eqbal
//DateTime dt = new DateTime(2012, 01, 01);
//TimeSpan ts = new TimeSpan(1, 0, 0, 0, 0);
//dt = dt + ts;
_ts = new TimeSpan(2, 1, 30, 10);`
var format = "dd";
var returnedVal = _ts.ToString(format);
Assert.That(returnedVal, Is.EqualTo("2")); //returns 3 not 2
}
谢谢 - 格伦