将hh:mm格式的时间跨度值获取为字符串变量

时间:2015-06-16 11:09:43

标签: c# datetime timespan

DateTime date1 = Convert.ToDateTime('2015/06/20');
DateTime date2= Convert.ToDateTime('2015/05/20');
TimeSpan latetime = date1.Subtract(date2);//here in 'hh:mm:ss' format
string value=latetime.ToString();

我获得hh:mm:ss格式的价值。但我只想获得hh:mm格式

3 个答案:

答案 0 :(得分:2)

首先,您的代码不会甚至编译。您需要对字符串使用双引号,而不是单引号。

DateTime date1 = Convert.ToDateTime("2015/06/20");
DateTime date2 = Convert.ToDateTime("2015/05/20");

顺便说一句,你在TimeSpan latetime = date1.Subtract(date2);行上看到的( as forma t)可能只是一个调试器表示。 TimeSpan本身没有任何隐式格式。 格式化概念仅在您尝试获取文本表示时才会出现问题。

TimeSpan格式与DateTime格式略有不同。您可以使用hh\\:mm格式,如;

string value = latetime.ToString("hh\\:mm");

或者您可以使用逐字字符串文字;

string value = latetime.ToString(@"hh\:mm");

答案 1 :(得分:2)

string value=latetime.ToString("hh\\:mm");

但结果将是00:00 如果你需要几天时间:

string value=latetime.ToString("dd\\:hh\\:mm");

MSDN - Custom TimeSpan

答案 2 :(得分:0)

您要求的可能是总小时:分钟格式化字符串:

int

这将返回:string value=((int)latetime.TotalHours).ToString() + ":" + latetime.ToString("mm");