如何将Datetime字符串转换为当前文化日期时间字符串

我有英文字母“12/1/2011”在英国美国文化,我目前的机器文化是英国英国,这是“dd / mm / yyyy”格式。 如何将12/1/2011转换为2011年1月12日。 我试过以下格式。

System.DateTime.Parse(result,System.Threading.Thread.CurrentThread.CurrentCulture) .ToString(System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern) 

但我无法看到任何输出。

-Lokesh。

 DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat; DateTimeFormatInfo ukDtfi = new CultureInfo("en-GB", false).DateTimeFormat; string result = Convert.ToDateTime("12/01/2011", usDtfi).ToString(ukDtfi.ShortDatePattern); 

这将成功^^

这对我有用:

 string myTime = DateTime.Parse("12/1/2011") .ToString(CultureInfo.GetCultureInfo("en-GB").DateTimeFormat.ShortDatePattern); 
 var culture = new CultureInfo( "en-GB" ); var dateValue = new DateTime( 2011, 12, 1 ); var result = dateValue.ToString( "d", culture ) ); 
 DateTime dateValue; CultureInfo culture = CultureInfo.CurrentCulture; DateTimeStyles styles = DateTimeStyles.None; DateTime.TryParse(datetimestring,culture, styles, out dateValue); 
 public static DateTime ConvertDateTime(string Date) { DateTime date=new DateTime(); try { string CurrentPattern = Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern; string[] Split = new string[] {"-","/",@"\","."}; string[] Patternvalue = CurrentPattern.Split(Split,StringSplitOptions.None); string[] DateSplit = Date.Split(Split,StringSplitOptions.None); string NewDate = ""; if (Patternvalue[0].ToLower().Contains("d") == true && Patternvalue[1].ToLower().Contains("m")==true && Patternvalue[2].ToLower().Contains("y")==true) { NewDate = DateSplit[1] + "/" + DateSplit[0] + "/" + DateSplit[2]; } else if (Patternvalue[0].ToLower().Contains("m") == true && Patternvalue[1].ToLower().Contains("d")==true && Patternvalue[2].ToLower().Contains("y")==true) { NewDate = DateSplit[0] + "/" + DateSplit[1] + "/" + DateSplit[2]; } else if (Patternvalue[0].ToLower().Contains("y") == true && Patternvalue[1].ToLower().Contains("m")==true && Patternvalue[2].ToLower().Contains("d")==true) { NewDate = DateSplit[2] + "/" + DateSplit[0] + "/" + DateSplit[1]; } else if (Patternvalue[0].ToLower().Contains("y") == true && Patternvalue[1].ToLower().Contains("d")==true && Patternvalue[2].ToLower().Contains("m")==true) { NewDate = DateSplit[2] + "/" + DateSplit[1] + "/" + DateSplit[0]; } date = DateTime.Parse(NewDate, Thread.CurrentThread.CurrentCulture); } catch (Exception ex) { } finally { } return date; } 

这对我有用,

 DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat; DateTimeFormatInfo ukDtfi = new CultureInfo("en-GB", false).DateTimeFormat; string result = Convert.ToDateTime("26/09/2015",ukDtfi).ToString(usDtfi.ShortDatePattern);