2012-09-24 3 views
1

이 내 입력 어떻게 정수를 ISO8601 TimeSpan으로 변환합니까?</p> <pre><code>55 </code></pre> <p>이 내 원하는 출력됩니다 :

PT55H 

이되는 같은 시간 범위를 변환 C#에서 클래스 내장 : TimeSpan.TryParse(55) 또는 문자열 "55"에서와 같이 시간은 ISO8601 형식의 문자열로?

TimeSpan start = new TimeSpan(int.Parse(txtStartHours.Text), 0, 0); 
durationNode.Element("StartTime").Value = XmlConvert.ToString(start); 

PT2D7H로 변환하는 것,하지만 난 다른 XMLConvert.ToTimeSpan().TotalHours을 사용하고 있기 때문에, 어떤 문제가 발생하지해야합니다

+0

가능한 복제본 http://stackoverflow.com/questions/2906022/c-sharp-timespan-to-iso8601-format-string – msmucker0527

답변

0

동료는 나를 위해이 발견!

1

TimeSpan.FromHours 정적 방법으로 숫자를 TimeSpan으로 변환 할 수 있습니다. 예 : var ts = TimeSpan.FromHours(55.0);.

시간 단위로만 표시되는 시간을 원하면 ISO 시스템에서 으로 간단하게 말할 수 있습니다.

+0

이 작업은 가능하지만 모든 시간대에 대해 일반적인 내용을 원합니다. – Codeman

+0

하지만 작동하지 않습니다. 어떤 시간대? 나는 당신이 시간 전용 포맷을 원한다고 생각했다. P2DT7H (2 일 7 시간) 대신 PT55H (55 시간)처럼. –

+0

이상적으로 말하면, 시간 제한 만 갖고 싶지만 제네릭에 대한 제 요구 사항에 따라 문자열을 직접 처리하거나 P2DT7H 서식을 사용할 수 밖에없는 것 같습니다. ' – Codeman