【发布时间】:2019-03-12 05:50:10
【问题描述】:
我正在开发一个为整个应用程序设置默认文化的应用程序。
static void Main()
{
try
{
#region set date pattern for whole application
try
{
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = System.Configuration.ConfigurationManager.AppSettings["ShortDateFormat"];
culture.DateTimeFormat.LongDatePattern = System.Configuration.ConfigurationManager.AppSettings["LongDateFormat"];
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
}
catch (Exception ex)
{
RCOP.SmartClient.General.SaveLog(ex);
}
#endregion
}
....
}
日期时间格式不适用于datatables,并且datatables 中的日期列具有计算机中设置的日期格式,如果用户更改计算机datetime 格式,则会导致异常。所以我必须为个人datatables使用以下代码
dataTable.Locale.DateTimeFormat.ShortDatePattern = Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
dataTable.Locale.DateTimeFormat.LongDatePattern = Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern;
问题是我必须在我使用过datatables的整个应用程序中应用上述设置(超过200个地方,因为win应用程序非常大)。
如何在一处应用datetime 设置,以便所有datatables 具有与默认区域性设置相同的datetime 格式。
【问题讨论】:
标签: c# winforms datatables cultureinfo