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

Lok*_*esh 22 c#

我有英文字母"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)
Run Code Online (Sandbox Code Playgroud)

但我无法看到任何输出.

-Lokesh.

Ken*_*ent 48

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);
Run Code Online (Sandbox Code Playgroud)

这将成功^^


Bro*_*ass 8

这对我有用:

string myTime = DateTime.Parse("12/1/2011")
                        .ToString(CultureInfo.GetCultureInfo("en-GB").DateTimeFormat.ShortDatePattern);
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 7

var culture = new CultureInfo( "en-GB" );
var dateValue = new DateTime( 2011, 12, 1 );
var result = dateValue.ToString( "d", culture ) );
Run Code Online (Sandbox Code Playgroud)


Pho*_*yaw 5

DateTime dateValue;
CultureInfo culture = CultureInfo.CurrentCulture;
DateTimeStyles styles = DateTimeStyles.None;
DateTime.TryParse(datetimestring,culture, styles, out dateValue);
Run Code Online (Sandbox Code Playgroud)