我需要将C#datetime对象转换为可怕的Excel日期格式: https://datapub.cdlib.org/2014/04/10/abandon-all-hope-ye-who-enter-dates-in-excel/
即。自1900年1月1日以来的天数表示为浮点数。
有没有办法不借助DIY代码? 我需要它来创建Excel友好的CSV导出
谷歌搜索我没有找到任何有用的,除了好的博客文章
答案 0 :(得分:7)
Excel日期使用OLE自动化日期格式。您可以使用DateTime.ToOADate
检索它OA日期是一个双倍,其整数部分是从1899年12月30日开始的日期偏移(即早期日期为负数),小数部分是时间除以24。
这种类型在COM / VB6天使用了很多。如今,Excel需要它,并且当您需要调用期望日期或具有日期内容的变体的COM API时。
答案 1 :(得分:2)
您可以使用以下方法将Excel Date转换回C#DateTime
return DateTime.FromOADate(SerialDate);