c#自定义日期格式

时间:2011-05-30 14:29:39

标签: c# timespan date-format

我想在输出中显示“day(s)”这个词。我已经尝试将转义字符放在“ - ”前面,在“days”中的所有字符和空格前面。任何想法或指示。

这是我正在使用的行,totalTimeInRoom是TimeSpan:

totalTimeInRoom.ToString(@"dd\.hh\:mm\:ss"); 

编辑: 试过这个,没有运气:

totalTimeInRoom.ToString(@"dd \"Days(s)\" \- hh\:mm\:ss");

2 个答案:

答案 0 :(得分:4)

正如here所述,您可以使用单引号字符以自定义日期格式嵌入文字字符串:

totalTimeInRoom.ToString("dd' Day(s) 'hh':'mm':'ss");

答案 1 :(得分:2)

我之前一直在努力解决这个问题,并总是使用String.Format:

来“欺骗”
// extend with minutes, seconds etc. if needed
var text = String.Format ("{0} day(s), {1} hour(s)", totalTimeInRoom.Days, totalTimeInRoom.Hours);

当然,如果在时间跨度内实际存在1天或更长时间,您可以使其更加先进并且仅显示“天”,而不是无条件地使用“天”,您可以动态附加“s”。天数超过1。