从C#中的excel文件格式化时间字段

我需要格式化我从一个Excel文件到一个string的时间值,然后将其插入到一个SQL表。 我已经使用这个代码:

dtTruck = string.Format(dtTruck, "Long Time"); dtPlane = string.Format(dtPlane, "Long Time"); 

这只适用于dtTruck领域,我第一次执行该项目。 所以这不是合乎逻辑的价值。 它将时间值作为string插入到我的SQL表中,因为这是0,29166666667,而不是这个07:00

我的代码:

 public void ReadExcelFile() { string filename = @"C:\Temp\Copy2.xlsx"; using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"")) { try { connection.Open(); string sqlCmd1 = "SELECT * FROM [Sheet1$]"; using (OleDbCommand command = new OleDbCommand(sqlCmd1, connection)) { command.CommandType = System.Data.CommandType.Text; using (OleDbDataReader reader = command.ExecuteReader()) { while (reader.Read()) { alias = "" + reader[3]; codeT = "" + reader[4]; dtTruck = "" + reader[5]; codeP = "" + reader[6]; dtPlane = "" + reader[7]; dtDealer = "" + reader[8]; dtTruck = string.Format(dtTruck, "Long Time"); dtPlane = string.Format(dtPlane, "Long Time"); SearchForAdrIDAndCustID(Convert.ToString(reader[0]), Convert.ToString(reader[3])); InsertData(custID, "" + reader[3], adrID, dtTruck, codeT, dtPlane, codeP, dtDealer); } } } } catch (Exception exception) { Console.WriteLine("ERROR in ReadExcelFile() method. Error Message : " + exception.Message); } } } 

谁能帮我这个 ?

你试过这个:

 dtTruck = string.Format(dtTruck,"{0:T}"); 

参考:

http://www.csharp-examples.net/string-format-datetime