将英国日期时间转换为美国日期时间

时间:2012-07-16 15:50:51

标签: c# datetime

我的Windows XP计算机上的当前区域设置是英语(英国)。 使用我的C#应用​​程序,如何将值为31/05/2012的DateTime对象转换为美国DateTime对象,即。收取罚金? 如果没有设置Thread.CurrentThread.CurrentCulture,这可能吗?

感谢。

4 个答案:

答案 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类。