如何将Double转换为TimeSpan

时间:2019-07-04 16:57:47

标签: c# excel type-conversion

我正在阅读一个Excel,此excel具有一个日期和时间的编程,当前我可以读取日期,这将返回一个Double snd thid double,我使用“ DateTime.FromOADate”方法将其转换为DateTime,问题是当我尝试将其转换为TimeSpan时,因为小时为“ 09:00”,并且我将其读为double(375),但我不知道将double转换为TimeSpan的方法。

我已经阅读了有关“ OLE自动化”的内容,并且找到了将双精度型转换为DateTime的方法,但是找不到将双精度型转换为TimeSpan的方法。 我也尝试将小时转换为DateTime然后获取小时,但这也不起作用。

double horaString;            
double fecha = double.Parse(documento.GetCellValueAsString(1, 3));
fechaProgramacion = DateTime.FromOADate(fecha);  //IS OK, I GET THE DATETIME

horaString = double.Parse(documento.GetCellValueAsString(irow, 3));  //I GET THE DOUBLE = 375 AND THE HOUR IN EXCEL IS 09:00
horaProgramacionEntrada = TimeSpan.FromHours(horaString);  //I am trying this but is not work

2 个答案:

答案 0 :(得分:0)

方法非常简单,我只是将其转换为带有“ HH:mm”的字符串,如下所示: horaString = documento.GetCellValueAsDouble(irow,3);                                     字符串s = DateTime.FromOADate(horaString).ToString(“ HH:mm”);

答案 1 :(得分:0)

尝试使用此

string s = DateTime.FromOADate(0.375).ToString("t");