Irf*_*aza 10 c# datetime ole-automation excel-interop
我正在使用C#和Microsoft.Office.Interop阅读Excel工作表数据.工作表包含一些日期值.当我试图读取该值时,它只是给出了数字(可能是TimeSpan).我在将此数字转换为DateTime时遇到问题.
以下是代码:
TimeSpan ts = TimeSpan.Parse(((Range)ws.Cells[4, 1]).Value2.ToString());
Run Code Online (Sandbox Code Playgroud)
哪里ws是Excel.WorkSheet.
任何人都可以解释我应该如何将这个数字(TimeSpan)转换成DateTime?
感谢您分享宝贵的时间.
您可以执行以下操作
double d = double.Parse(((Range)ws.Cells[4, 1]).Value2.ToString());
DateTime conv = DateTime.FromOADate(d);
Run Code Online (Sandbox Code Playgroud)
小智 9
使用以下内容:
DateTime dt = new DateTime().Add( TimeSpan.FromMilliseconds( 1304686771794 ) )
Run Code Online (Sandbox Code Playgroud)
这一切都取决于数字的含义; p通常是某个时间间隔内的偏移,进入某个时代 - 例如自1970年1月1日以来的秒数.所以试试,例如:
var when = new DateTime(1970,1,1).AddSeconds(number);
Run Code Online (Sandbox Code Playgroud)
然后尝试AddMilliseconds(number),AddTicks(number)等等,直到日期匹配.
| 归档时间: |
|
| 查看次数: |
38271 次 |
| 最近记录: |