: 스팬은 사용자 정의 형식화하는 그러나 .NET 4. 전에, 대체 솔루션이 전혀 복잡하지가 않았다.
public static string ToReadableString(this TimeSpan span)
{
string formatted = string.Format("{0}{1}{2}{3}",
span.Duration().Days > 0 ? string.Format("{0:0} day{1}, ", span.Days, span.Days == 1 ? String.Empty : "s") : string.Empty,
span.Duration().Hours > 0 ? string.Format("{0:00} hour{1}, ", span.Hours, span.Hours == 1 ? String.Empty : "s") : string.Empty,
span.Duration().Minutes > 0 ? string.Format("{0:00} minute{1}, ", span.Minutes, span.Minutes == 1 ? String.Empty : "s") : string.Empty,
span.Duration().Seconds > 0 ? string.Format("{0:00} second{1}", span.Seconds, span.Seconds == 1 ? String.Empty : "s") : string.Empty);
if (formatted.EndsWith(", ")) formatted = formatted.Substring(0, formatted.Length - 2);
if (string.IsNullOrEmpty(formatted)) formatted = "0 seconds";
return formatted;
}
가이 시간 범위에 사용되는 경우는 다음과 같은 형식의 시간 (X 일 X 시간 X 분 x 초)을 얻을 것이다 무언가가 가능한이됩니다되지 않을 때마다 : 내가 확장 방법을 사용하여 고정 숨어있다.
게시 한 코드가 유효하지 않습니다. 유효한 C#이 아니며 세 가지 형식 인수 중 두 가지만 지정했습니다. 문제를 보여주는 짧지 만 완전한 프로그램을 게시하십시오. –
또한 서버에서 사용중인 .NET 버전을 알려주십시오. TimeSpan에 대한 사용자 지정 서식은 .NET 4에서만 도입되었다고 생각합니다. –
@JonSkeet 팁! 그것은 그것이 문제인 것처럼 들린다. 확인하겠습니다. –