string dateFormate = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
使用上面的代码,每当我更改系统中的日期格式时,我都可以获得当前的系统日期格式。
例如:如果我更改日期格式,如yy / MM / dd。我可以得到与结果相同的格式。但我无法得到正确的当前时间格式。即使我在我的系统中设置了像 hh:mm tt 这样的日期格式,我总是得到格式 h:mm tt 。
string timeFormate = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;
以下图片显示了我可以更改系统日期和时间格式的位置。
答案 0 :(得分:0)
尝试
DateTime result;
if (DateTime.TryParse("31/1/2010", System.Globalization.CultureInfo.GetCultureInfo("en-gb"),
System.Globalization.DateTimeStyles.None, out result))
MessageBox.Show(result.ToShortDateString());
else
MessageBox.Show("Not in Great Britain format");
改变en-gb ot en-us。如果要对正在运行的appdomain进行永久更改,请将System.Globalization.CultureInfo.CurrentCulture分配给en-us的GetCulture
以下代码将在计算机中返回ShortDateFormat
MessageBox.Show(Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern)
未尝试,仅参考
REF: http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.datetimeformat.aspx
使用以下链接识别文化的LCID: http://msdn.microsoft.com/en-us/library/0h88fahh(VS.85).aspx
由于
答案 1 :(得分:0)
我尝试了CultureInfo的不同文化。我得出结论,只有InstalledUICulture才能获得操作系统设置的更改。不过,我在Windows 7 Pro上尝试过它。
它是否适用于CultureInfo.InstalledUICulture?
答案 2 :(得分:0)
来自MSDN
/*
This code produces the following output.
CULTURE PROPERTY VALUE
en-US h:mm tt
ja-JP H:mm
fr-FR HH:mm
*/
有人提到ShortTimePattern将为en-US文化提供h:mm tt,如屏幕截图所示。
这就是你得到这种行为的原因。