2009-09-24 8 views
7

C# 및 DateTime.Parse (string)의 RSS 피드에서 DateTime 개체를 가져 오는 중 BBC rss 피드에 다음과 같은 형식을 사용하면 문제가 없습니다. Thu, 24 Sep 2009 13:08:30 GMTRSS 피드의 pubDate에 대한 DateTime.Parse

그러나 Eng, 2009 년 9 월 24 일 17:04:00과 같은 날짜 형식의 Engadget 피드에이를 사용하려고 시도하면 FormatException이 throw됩니다.

여기에 실종 된 내용이 있습니까?

+0

날짜 형식은 내가 아는 최악의 형식 중 하나 일 수 있습니다. –

+0

프레드릭 (Fredrik), 어느 것이 (2 가지 예 중)? –

+0

@Henk : 음, 둘다 그렇지만 특별한 표준 시간대를 사용하는 많은 RSS 피드에서 특히 그렇습니다. –

답변

5

구문 분석 날짜를 RSS 매우 실망 피드에. Argotic Syndication Framework on CodePlex이라는 환상적인 무료 라이브러리를 발견했습니다. 챔피언처럼 작동하며 ATOM 피드도 지원합니다. 표준 날짜를 포함하여 피드에서 멋진 작은 데이터 세트를 반환합니다.

+0

NuGet 패키지로도 제공됩니다. –

1

이 글은 누군가가 유용하다고 생각할 수도 있습니다.

/// <summary> 
/// Converts c# DateTime object into pubdate format for RSS 
/// Desired format: Mon, 28 Mar 2011 02:51:23 -0700 
/// </summary> 
/// <param name="Date">DateTime object to parse</param> 
/// <returns>Formatted string in correct format</returns> 
public static string PubDate(DateTime Date) 
{ 
    string ReturnString = Date.DayOfWeek.ToString().Substring(0,3) + ", "; 
    ReturnString += Date.Day + " "; 
    ReturnString += CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(Date.Month) + " "; 
    ReturnString += Date.Year + " "; 
    ReturnString += Date.TimeOfDay + " -0700"; 

    return ReturnString; 
} 
관련 문제