当我需要在html源代码中找到第一次出现的日期时,我遇到了这个问题。这可以是“2000年1月24日”以及2000年1月24日(斯洛伐克语)或任何其他语言日期格式。
你可能知道一个能够做到这一点的图书馆。我没有,谷歌没有帮助:(
我无法想象正则表达式如何做到这一点,因为我需要手动为所有语言做一个规则
答案 0 :(得分: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个文化,只有112个。