我想使用c#从时间跨度中删除秒数
我的代码在这里:
TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime) ;
Run Code Online (Sandbox Code Playgroud)
它返回值 00:10:00
但我想要以下输出:00:10只有非秒字段:00.
V4V*_*tta 21
那么你可以简单地做
string.Format("{0}:{1}", ts.Hours,ts.Minutes) // it would display 2:5
Run Code Online (Sandbox Code Playgroud)
编辑
得到它正确格式化使用
string.Format("{0:00}:{1:00}", ts.Hours,ts.Minutes) // it should display 02:05
Run Code Online (Sandbox Code Playgroud)
Hei*_*nzi 12
请注意,a TimeSpan 没有格式.它存储在一些完全不相似的内部表示中00:10:00.
通常的格式hh:mm:ss仅在TimeSpan String显式或隐式转换为a时生成.因此,转换是您需要做某事的地方.您问题中的代码示例"太早" - 此时,TimeSpan仍然是类型TimeSpan.
要修改转换为字符串,你可以使用String.Format,如建议在V4Vendetta的答案,或者您可以使用自定义格式字符串为TimeSpan.ToString(可与.NET 4):
string formattedTimespan = ts.ToString("hh\\:mm");
Run Code Online (Sandbox Code Playgroud)
Pab*_*ash 11
TimeSpan newTimeSpan = new TimeSpan(timeSpan.Hours, timeSpan.Minutes, 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13141 次 |
| 最近记录: |