如何从C#中的时间跨度对象中截断秒位?即15:37
我正在以HH:mm的格式向JavaScript输出一个时间跨度对象,并希望服务器端处理提供正确的格式而不是客户端浏览器,可以在不将其作为C#字符串对象提供的情况下完成的JavaScript?
答案 0 :(得分:19)
您可以使用格式字符串:
public string GetTimeSpanAsString(TimeSpan input)
{
return input.ToString(@"hh\:mm");
}
答案 1 :(得分:8)
您可以截断作为TimeSpan核心的'ticks'值:
TimeSpan t1 = TimeSpan.FromHours(1.551);
Console.WriteLine(t1);
TimeSpan t2 = new TimeSpan(t1.Ticks - (t1.Ticks % 600000000));
Console.WriteLine(t2);
给予:
01:33:03.6000000
01:33:00
答案 2 :(得分:1)
可能不是最佳的,但易于阅读:
TimeSpan.FromMinutes((long)duration.TotalMinutes);
答案 3 :(得分:0)
我相信这就是你要找的东西。
string.Format("{0:H:mm}",myTime)
答案 4 :(得分:0)
也许是这样的。使用截断整数除法将其截断为分钟,然后乘以除数。
return TimeSpan.FromTicks(input.Ticks/TicksPerMinute*TicksPerMinute);