将美国日期时间转换为文化特定值

时间:2011-12-07 14:52:01

标签: asp.net

我的问题是我无法将美国日期值转换为英国格式。 TryParse条件总是为false,因此outputValue永远不会被填满。

实施有问题吗?请指出或提出更好的选择。感谢。

   string filterValue = "12/22/2011"
   string outputValue = ""
   DateTime dt;                      
   string strCulture = "en-GB";
   CultureInfo ci = new CultureInfo(strCulture);                      

   if (DateTime.TryParse(filterValue, ci, DateTimeStyles.AdjustToUniversal, out dt))
         outputValue = dt.ToString("d", ci);                     

1 个答案:

答案 0 :(得分:1)

您使用英国文化以美国格式解析日期。请使用以下代码。

string filterValue = "12/22/2011";
DateTime dt;
string outputValue = "";

if (DateTime.TryParse(filterValue, CultureInfo.GetCultureInfo("en-US"), DateTimeStyles.AdjustToUniversal, out dt))
{
    outputValue = dt.ToString("d", CultureInfo.GetCultureInfo("en-GB"));
}