在asp.net中将从excel文件input的时间转换为gridview
我有一个excel文件,我在格式 – “10:14:16”添加时间,并添加代码
dt = ExcelLibrary.DataSetHelper.CreateDataTable(FilePath, "abc");
在asp.net中的gridview中转换和显示这个excel文件。 它显示的值为“0.426574074074074” 。
我无法将此数据保存在SQL Server数据库中,因为我需要的格式与在Excel文件中提到的相同。 请帮帮我。
这是一个OAdate。 OAdate表示以OLE自动格式存储在计算机上的date。 您可以使用double.Parse
从string中获取double,并使用DateTime.FromOADate
将其parsing为DateTime
:
string date = "0.426574074074074"; double num; if (double.TryParse(date, NumberStyles.Float, CultureInfo.InvariantCulture, out num)) { DateTime dt = DateTime.FromOADate(num); // 12/30/1899 10:14:16 // use DateTime.TimeOfday to get the TimeSpan: TimeSpan ts = dt.TimeOfDay; // 10:14:16 }
您需要使用DateTime.FromOADate(双date) ,它返回一个DateTime相当于指定的OLE自动化date。
DateTime dt = DateTime.FromOADate(double.Parse(stringVariableContainingDateTime));
d参数是一个双精度浮点数,表示date为基准date前后的天数,即1899年12月30日午夜。d的符号和积分部分将date编码为正日或负日从1899年12月30日的位移,以及d的小数部分的绝对值,将当天的时间编码为从午夜起的一小部分时间的位移。 d必须是负值657435.0之间的正值2958465.99999999, MSDN 。