문제

c#을 사용하여 .NET으로 ICalendar 날짜를 구문 분석하는 직접적인 방법이 있습니까? icalendar 날짜는 다음과 같습니다.

2009-08-11T10:00+05:0000

친근한 형식으로 표시하려면 구문 분석해야합니다 ... 감사합니다

도움이 되었습니까?

해결책

string strDate = "2009-08-11T10:00+05:0000";
DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
dtfi.FullDateTimePattern = "yyyy-MM-ddTHH:mmzzz";

DateTime dt = DateTime.Parse(c.Substring(0, c.Length-2), dtfi);

ZZZ는 시간대를위한 것이지만 다음과 같이 표현할 때만 인식됩니다. +XX : XX. 마지막 2 0을 제거한 다음 사용자 정의 DateTimeFormatInfo 작업으로 구문 분석을 테스트했습니다.

다른 팁

당신이 사용할 수있는 DateTime.Parse() +전에 모든 것을 구문 분석합니다. 나는 icalendar 형식 사양을 모르지만 +가 + 이전 날짜에 추가하는 시간/분 후에 가정합니다. 그러면 사용할 수 있습니다 AddHours() 그리고 AddMinutes() 필요한 비트를 DateTime.Parse().

이것은 약간의 문자열 구문 분석이 필요하지만 약간의 정규식이 있으면 괜찮을 것입니다 ...

이것은 표준 형식 문자열이 아니지만 정확한 형식을 알고 있으므로 사용할 수 있습니다. DateTime.ParseExact 지정하십시오 사용자 정의 형식 문자열, 이와 같이:

DateTime.ParseExact(d, "yyyy-MM-ddTHH:mmzzz00", CultureInfo.InvariantCulture);

'ZZZ'지정자는 UTC의 시간과 분 오프셋을 나타내며, 두 개의 결론 제로는 당신이 다루는 형식과 일치하는 리터럴 일뿐입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top