我的 Windows XP 机器上的当前区域设置是English (United Kingdom)。使用我的 C# 应用程序,如何将DateTime
值为 31/05/2012 的对象转换为美国DateTime
对象,即。2012 年 5 月 31 日?没有设置这可能Thread.CurrentThread.CurrentCulture
吗?
谢谢。
DateTime
价值观没有文化——他们对自己的格式化一无所知。您在解析和格式化它们时指定文化信息。目前尚不清楚您从哪里获得价值,但要根据美国文化对其进行格式化,您只需使用以下内容:
CultureInfo us = CultureInfo.GetCultureInfo("en-US");
string text = dateTime.ToString("d", us); // d=short date format
请注意,只有在必须向用户显示信息时才应执行此格式设置 -DateTime
尽可能长时间地将值保留为 a。例如,如果您需要将其插入数据库,请将其用作参数化 SQL 语句中的参数值,而不是在 SQL 本身中包含文本表示。
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"));
DateTime dt = DateTime.Now;
string dtStringInUSFormat=dt.ToString(CultureInfo.GetCultureInfo("en-US"))
您需要导入System.Globalization
才能访问CultureInfo
该类。