2012-10-30 77 views
1

當我需要在html源代碼中查找第一次出現的日期時,我遇到了這個問題。這可以是「2000年1月24日」以及2000年1月24日(斯洛伐克語)或任何其他語言的日期格式。查找日期(所有語言)

你可能知道一個能夠做到這一點的庫。我不這樣做,谷歌並沒有幫助:(

我無法想象的regex如何能做到這一點,因爲我需要所有的語言做一個規則手動

+0

這是一個網頁抓取應用?它是__你的HTML源代碼,還是屬於其他人? –

+1

當然,頁面上還有其他信息會告訴你該頁面在哪種語言中?那麼你只需要搜索一個特定的字符串。 – Adam

+3

找到5月4日(說)的第一次發生的好運...「05/04/2000」是指2000年5月4日還是2000年4月5日? –

回答

1

CultureInfo類是你在做什麼尋找。使用dt.ToString("D", c)通過CultureInfo的,讓你的格式(順便說一句,一樣dt.ToLongDateString)。

看一看的standard date and time format strings

您可以使用CultureInfo.GetCultures讓所有支持的區域性。

DateTime dt = new DateTime(2000, 1, 24); 
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures); 
string allTranslatedJanuaries = 
    string.Join(Environment.NewLine, cultures.Select(c => 
     String.Format("{0}: {1}", c.EnglishName, dt.ToString("D", c)))); 

這裏有一個演示:http://ideone.com/6ypqJE

在我的服務器352個文化安裝,在ideone只有112