使用c#从时间跨度中删除秒数
我想使用c#从时间跨度中删除秒数
我的代码在这里:
TimeSpan lateaftertime = new TimeSpan(); lateaftertime = lateafter - Convert.ToDateTime(intime) ;
它返回值00:10:00
但我想要下面的输出:00
: 00: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);