当我通过 a 添加工作表时DataTable,我希望日期格式遵循应用程序的区域设置/文化,但它似乎是从计算机中获取的。
string culture = "en-GB";
var newCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = newCulture;
Thread.CurrentThread.CurrentUICulture = newCulture; //probably unnecessary?
CultureInfo.DefaultThreadCurrentCulture = newCulture;
// ... select myDateColumn, myIntCol, myString
workBook.AddWorksheet(myDataTableThatContainsQueryResults, tabName);
Run Code Online (Sandbox Code Playgroud)
现在,您希望第一列 ( myDateColumn) 使用区域设置的短日期格式进行格式化en-GB,这应该是'31/10/2017',但它却出现了'10/31/2017'。
从 SQLDataAdapter 取回 DataTable 后,我检查了 DataTable 中的区域设置,它与嵌套日期格式一样正确。请注意,有多个查询,我不会提前知道日期在哪里。
感谢某人可以提供的任何方向!