我的Windows XP计算机上的当前区域设置是英语(英国)。
使用我的C#应用程序,如何将值为31/05/2012的DateTime
对象转换为美国DateTime
对象,即。收取罚金?
如果没有设置Thread.CurrentThread.CurrentCulture
,这可能吗?
感谢。
答案 0 :(得分:6)
DateTime
值不拥有文化 - 他们对格式化自己一无所知。您在解析和格式化时指定文化信息。目前尚不清楚你从哪里获得价值,而是用美国文化格式它,你只需使用类似的东西:
CultureInfo us = CultureInfo.GetCultureInfo("en-US");
string text = dateTime.ToString("d", us); // d=short date format
请注意,只有在必须向用户显示信息时才应执行此格式化 - 尽可能长时间将值保留为DateTime
。例如,如果需要将其插入数据库,请将其用作参数化SQL语句中的参数值,而不是在SQL本身中包含文本表示。
答案 1 :(得分:1)
DateTime ukDateTimeFormat = DateTime.Parse("10/26/2009 06:47",
System.Globalization.CultureInfo.GetCultureInfo("en-us"));
从英国格式到美国格式,请使用以下代码段
DateTime usDateTimeFormat = DateTime.Parse("26/10/2009 06:47",
System.Globalization.CultureInfo.GetCultureInfo("en-gb"));
答案 2 :(得分:0)
使用文化。
请参阅此处 - http://msdn.microsoft.com/en-us/library/5hh873ya.aspx
答案 3 :(得分:0)
DateTime dt = DateTime.Now;
string dtStringInUSFormat=dt.ToString(CultureInfo.GetCultureInfo("en-US"))
您需要导入System.Globalization
才能访问CultureInfo
类。