Cómo convertir "doble" a "fecha y hora" entre Excel y c #
Tengo un programa c # que necesita crear un objeto de Excel y hacer algunas operaciones, aquí hay partes de mi código:
// c# code:
workSheet.Cells[1, 1] = "=2012/9/20"; //asign "2012/9/20" to cell[1,1] in Excel
double d = workSheet.Cells[1, 1].value(); // by default, Excel will return 11.17
Debug.Print(d.ToString()); //c#: d = 11.1777777777778
Entonces, ¿cómo hacer que la salida se convierta en "2012/9/20" de nuevo?
He probado algunos códigos, pero fallan:
DateTime str = DateTime.FromOADate(d); //c#: str = 1/10/1900 4:16:00 AM
DateTime str = new DateTime((long)d); //c#: str = 1/1/0001 12:00:00 AM