Как конвертировать двойной в TimeSpan - PullRequest
0 голосов
/ 04 июля 2019

Я читаю Excel, у этого Excel есть даты и часы программирования, в настоящее время я могу прочитать дату, это возвращает DOUBLE и двойное преобразование в DateTime с использованием метода DateTime.FromOADate, проблема в том, чтокогда я пытаюсь преобразовать в TimeSpan, потому что час "09:00", и я читаю его как двойной (375), но я не знаю, как преобразовать этот двойной в TimeSpan.

Я прочиталчто-то про "OLE Automation", и я нашел способ преобразовать двойное в 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 голосов
/ 23 июля 2019

Попробуйте использовать это

string s = DateTime.FromOADate(0.375).ToString("t");
0 голосов
/ 17 июля 2019

Путь был довольно легким, я просто конвертировал в строку с "ЧЧ: мм", что-то вроде этого: horaString = documentmento.GetCellValueAsDouble (irow, 3); строка s = DateTime.FromOADate (horaString) .ToString ("ЧЧ: мм");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...