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

这是我正在处理的行,totalTimeInRoom是一个TimeSpan:

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


编辑:
刚刚尝试过,没有运气:

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

最佳答案

我以前为此苦苦挣扎,并总是使用String.Format最终“作弊”:

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


当然,您可以使其更高级,并且仅在时间跨度中实际上有1天或更多天时才显示“天”,并且除了无条件地使用“天”,您还可以动态地在“天数超过1。

关于c# - C#自定义日期格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6177538/

10-11 00:47