我用 .Net C# 开发了一个应用程序,用于在 MySQL 数据库中检索和插入数据。
要建立连接,我使用 MySqlConnection
...
在我的数据库中,有几个表,每个表包含多个日期列,格式为 (yyyy-mm-dd hh: mm: ss
)
我的问题是,当我通过 SQL 请求获取列时,我的日期格式为 (dd-mm-yyyy hh:mm:ss
)。
我可以使用 DateFormat()
来格式化列,但是有很多列日期,并且请求可能会更改。
我想知道是否有办法在字符串 MyConnection
或类似的东西中强加日期格式。
我的字符串是:
string MyConnection = "datasource=192.168.0.1;port=3306;username=" + this.textBoxLogin.Text.ToString().Trim() +
";password=" + this.textBoxPassword.Text.ToString().Trim() + ";AllowZeroDateTime=True;TreatTinyAsBoolean=False;";
查询 + 获取数据 + 插入 .xls
文件:
MySqlConnection conn = new MySqlConnection(MyConnection);
MySqlDataAdapter dataAdapter = new MySqlDataAdapter();
conn.Open();
dataAdapter.SelectCommand = new MySqlCommand("Select * From table;", conn);
MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(dataAdapter);
////get data
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
////insert in .xls File
DataSet dataSet = new DataSet();
dataSet.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dataSet.Tables.Add(dataTable);
CreateWorkbook("test\\Export.xls", dataSet);
数据库中的日期格式:2015/02/25 13:28:25
我的 .xls
文件中的日期格式:25/02/2015 13:28:25
最佳答案
如果数据库以date
、datetime
或timestamp
数据类型存储数据,.NET 会将其放入日期时间
结构。这很好,因为这只是数据的结构,而不是数据的可视化表示。
如果您想更改程序的默认日期格式(对所有日期一次性修复),您可以将 CurrentCulture
设置为您需要的文化:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
如果只需要设置日期格式,可以设置Thread.CurrentThread.CurrentCulture.DateTimeFormat
和Thread.CurrentThread.CurrentUICulture.DateTimeFormat
。
关于c# - MysqlConnection 字符串 : get Date in (yyyy-mm-dd hh:mm:ss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959161/