我有以下代码,以en-us格式生成日期字符串。我想传入LCID(或本地化语言的等效值)以生成日期字符串的本地化版本。我将如何完成?
public static string ConvertDateTimeToDate(string dateTimeString) {
CultureInfo culture = CultureInfo.InvariantCulture;
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(dateTimeString, out dt))
{
return dt.ToShortDateString();
}
return dateTimeString;
}
您可以使用toString函数的第二个参数,并使用您需要的任何语言/文化...
根据MSDN,您可以使用“ d”格式而不是[C0 ...
所以基本上像这样的东西以澳大利亚英语的形式返回:
ToShortDateString
您可以修改您的方法以将语言和文化作为参数包括在内>
如果您需要根据特定的语言/文化来分析字符串,您可能还需要查看CultureInfo enAU = new CultureInfo("en-AU"); dt.ToString("d", enAU);
编辑
public static string ConvertDateTimeToDate(string dateTimeString, String langCulture) {
CultureInfo culture = new CultureInfo(langCulture);
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(dateTimeString, out dt))
{
return dt.ToString("d",culture);
}
return dateTimeString;
}
...使用重载overloaded tryParse method而不是ToString()
方法。提供ToShortDateString()
。