簡體   English   中英

將日期字符串從xml feed解析為DateTime

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM