2017-11-15 5 views
0

나는 여러 변수를 Timespan으로 반환하는 데이터 처리 시스템을 가지고 있습니다. 사용자는 형식 문자열을 제공하여이 출력을 보는 방법을 구성 할 수 있습니다. 그런 다음 형식 문자열을 시간 범위에 적용합니다..Net 4.5.x - 선택 섹션이있는 사용자 정의 TimeSpan 형식?

사용자가 형식을 d \, \ h : mm : ss로 설정하면 출력은 0, 0:00:00 (영으로)입니다.

시스템이 0 일 경우 자동으로 일 또는 시간을 건너 뛸 수 있도록하고 싶습니다.

예 : 사용자가 [d \,] [h :] mm : \ ss 형식을 설정하고 00시에서 59시 59 분까지는 1 시간 미만은 1 시부 터 23시 59 분 59 초 1 일보다 1시 00 분 00 초 ~ x 일, nn : nn : nn 큰 것, x = 일 수.

내장 된 시간 범위는 대괄호 안에 "선택 사항"섹션을 제공하지 않습니다.

이 방법을 사용하면 쉽게 볼 수 없으며 TimeSpan 포맷터를 직접 작성해야합니까?

+0

C# 또는 Vb? 두 태그가 모두 있습니다 – Fleury26

+0

어느 하나 또는 둘 다, 내 코드는 VB이지만 C# 솔루션도 유용 할 것입니다. – Ade

답변

1

정확히 우아한 아니,하지만이 같은 짓 : 당신은 쉽게뿐만 아니라 불필요한 시간을 제거하려면이 옵션을 확장 할 수

Dim fmt As String 
    fmt = If(thisTimespan >= TimeSpan.FromDays(1), "d\d\-\ h\:mm\:ss\.fff", "h\:mm\:ss\.fff") 

합니다.

+0

형식이 코드에서 수정되었지만 사용자가 구성 할 수 있으면 정상입니다. 예 : 그들은 며칠 후에 쉼표를 원하지 않을 수도 있습니다. 그들은 일의 숫자를 보여주고 싶지 않을 수도 있습니다 ... – Ade

+0

당신이 원하는 형식으로 소스를 사용할 수 있습니다. 귀하의 예제에서 괄호로 묶은 섹션 (사용자 지정)을 분해하여 시간 간격 값에 따라 최종 서식 지정 문자열 (대괄호 제외)에 추가 할 수 있습니다. – Patrick