再读取不可控数据库datetime字段时,遇到了一个奇葩问题——“无法识别的datetime格式”
搞了半天……
数据库里看:2017-06-06 10:28:30.000
不做处理查询报错:“无法识别的datetime格式”
做处理后查出来个:42892.4364583333
……
接下来这么处理
DateTime dtr = DateTime.FromOADate(42863.5656134259); double ewr = dtr.ToOADate(); DateTime val = new DateTime(1899, 12, 31); val = val.AddDays(42863.5656134259);
SQLiteConnection connection= new SQLiteConnection(string.Format( "Data Source={0}skpdb_539900210037.db3;Version=3;", AppDomain.CurrentDomain.SetupInformation.ApplicationBase));// connection.Open(); DataTable dt = new DataTable(); //connection.Open(); SQLiteCommand command = new SQLiteCommand(connection); command.CommandText = "select CAST(kprq AS double) from zzs_fpkj order by kprq"; SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); adapter.Fill(dt); foreach (DataRow dr in dt.Rows) { string aaa = DateTime.FromOADate(Convert.ToDouble(dr[0])).ToString(); Console.WriteLine(aaa); } connection.Close();