[英]Parse date string from xml feed to DateTime
我有一些不同的xml提要,我正在整合到我正在處理的網站的一個“提要”(c#)。 大多數提要遵循rss2.0標准,即新聞提要和facebook提要。 然而,我也在拉Twitter,他們似乎從我能說的方面使用他們自己的標准。 我有一個問題從facebook和twitter拉出發布日期,因為它們的格式略有不同。
facebook = <lastBuildDate>Thu, 12 Jan 2012 00:06:54 +0000</lastBuildDate>
twitter = <created_at>Wed Jan 11 23:48:15 +0000 2012</created_at>
我不太清楚從哪里開始,謝謝你的幫助:)
如果無法識別格式,則需要執行DateTime.ParseExact。
使用以下類:
public static class Extensions
{
public static DateTime ParseTwitterDateTime(this string date)
{
const string format = "ddd MMM dd HH:mm:ss zzzz yyyy";
return DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);
}
public static DateTime ParseFacebookDateTime(this string date)
{
const string format = "ddd, dd MMM yyyy HH:mm:ss zzzz";
return DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);
}
}
您應該能夠使用字符串上的擴展方法來解析值。
用作參考: 在C#中解析Twitter日期
如果您知道它來自Facebook,並且facebook始終使用相同的日期格式,您可以只解析其組件的字符串(星期幾,月份,時間等),將它們重新排列為一個訂單, C#識別,然后使用DateTime.Parse()將它們轉換為日期。 您必須為每個Feed提供不同的重新排列方法。
例如
Thu, 12 Jan 2012 00:06:54 +0000
變
Jan 12, 2012 00:06:54 +0000
或類似的東西(不確定C#是否會實際解析,所以根據需要進行修改)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.