0

我的 Windows XP 机器上的当前区域设置是English (United Kingdom)。使用我的 C# 应用程序,如何将DateTime值为 31/05/2012 的对象转换为美国DateTime对象,即。2012 年 5 月 31 日?没有设置这可能Thread.CurrentThread.CurrentCulture吗?

谢谢。

4

4 回答 4

7

DateTime价值观没有文化——他们自己的格式化一无所知。您在解析和格式化它们时指定文化信息。目前尚不清楚您从哪里获得价值,但要根据美国文化对其进行格式化,您只需使用以下内容:

CultureInfo us = CultureInfo.GetCultureInfo("en-US");
string text = dateTime.ToString("d", us); // d=short date format

请注意,只有在必须向用户显示信息时才应执行此格式设置 -DateTime尽可能长时间地将值保留为 a。例如,如果您需要将其插入数据库,请将其用作参数化 SQL 语句中的参数值,而不是在 SQL 本身中包含文本表示。

于 2012-07-16T15:54:18.083 回答
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"));
于 2012-07-16T15:55:49.330 回答
0

使用文化。

见这里 - http://msdn.microsoft.com/en-us/library/5hh873ya.aspx

于 2012-07-16T15:51:57.057 回答
0
DateTime dt = DateTime.Now;
string dtStringInUSFormat=dt.ToString(CultureInfo.GetCultureInfo("en-US"))

您需要导入System.Globalization才能访问CultureInfo该类。

于 2012-07-16T15:53:42.313 回答