c # пользовательский формат даты - PullRequest
2 голосов
/ 30 мая 2011

Я бы хотел, чтобы слово "дн." Отображалось в выходных данных. Я пытался поместить escape-символы перед «-», перед всеми символами и пробелами в «days». Любые идеи или указатели.

Это строка, с которой я работаю, totalTimeInRoom - интервал времени:

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

EDIT: Только что попробовал, не повезло:

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

Ответы [ 2 ]

4 голосов
/ 30 мая 2011

Как объяснено здесь , вы можете использовать одинарные кавычки для встраивания литеральной строки в ваш пользовательский формат даты:

totalTimeInRoom.ToString("dd' Day(s) 'hh':'mm':'ss");
2 голосов
/ 30 мая 2011

Я боролся с этим раньше и всегда заканчивал тем, что "обманывал", используя 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.

...