使用c#从时间跨度中删除秒数

我想使用c#从时间跨度中删除秒数

我的代码在这里:

TimeSpan lateaftertime = new TimeSpan(); lateaftertime = lateafter - Convert.ToDateTime(intime) ; 

它返回值00:10:00

但我想要下面的输出:0000:10只有秒字段:00

那么你可以简单地做

 string.Format("{0}:{1}", ts.Hours,ts.Minutes) // it would display 2:5 

编辑

得到它正确格式化使用

 string.Format("{0:00}:{1:00}", ts.Hours,ts.Minutes) // it should display 02:05 

请注意, TimeSpan 没有格式 。 它存储在一些内部表示中,根本不像00:10:00

通常的格式hh:mm:ss仅在TimeSpan显式或隐式转换为String时生成。 因此, 转换是您需要做某事的地方。 您问题中的代码示例“太早” – 此时,TimeSpan仍然是TimeSpan类型。

要修改转换为String,您可以使用String.Format ,如V4Vendetta的答案中所建议的那样,或者您可以为TimeSpan.ToString使用自定义格式字符串 (可用于.NET 4):

 string formattedTimespan = ts.ToString("hh\\:mm"); 
 TimeSpan newTimeSpan = new TimeSpan(timeSpan.Hours, timeSpan.Minutes, 0);