我有一个excel文件,其中一个列具有DateTime值:
01.03.2012 10:00
02.03.2012 10:00
03.03.2012 10:00
04.03.2012 10:00
我正在阅读这段代码:
OleDbDataAdapter command = new OleDbDataAdapter("select * from [" + sheetName + "$]", Conn);
command.Fill(Result);
有趣的是,excel文件中的数据与此完全相同(第一列是正确的,但其他1秒则少)
01.03.2012 10:00:00
02.03.2012 09:59:59
03.03.2012 09:59:59
04.03.2012 09:59:59
剩下的值是09:59:59 ...只有第一个值正确地来到数据表。
为什么我遇到这个问题并想知道如何让它们与Excel文件完全一致?
我非常感谢任何帮助。 提前谢谢,
答案 0 :(得分:2)
在Excel工作表中实际上不是10:00,因为Excel不保留该格式的时间:
将您的时间复制到其他单元格并将其格式化为带有七位或八位小数的数字。我的猜测是转换为9:59:59的值小于0.41666666667并且被截断而不是舍入。
答案 1 :(得分:1)
我怀疑您在Excel电子表格中确实有09:59:59
,并且显示格式会将时间“舍入”到10:00
。检查应用了哪种单元格格式。