正在将seriadate转换为DateTime

本文关键字:DateTime 转换 seriadate | 更新日期: 2023-09-27 18:19:35

我将41866传递给这个方法,得到的是2014年8月16日。然而,我导入的电子表格上写着2014年8月15日,嗯!!!!!

private DateTime GetDate(int serialDate)
{
    return new DateTime(1899, 12, 31).AddDays(serialDate);
}

正在将seriadate转换为DateTime

有不同的纪元日期。根据Epoch(参考日期)(重新格式化):


纪元日期1899年12月30日

值得注意的用法:Microsoft COM DATE、Object Pascal、LibreOffice Calc

选择的理由:Microsoft Excel使用的技术内部值;以与Lotus 1-2-3兼容。


纪元日期1900年1月0日

值得注意的用途:Microsoft Excel、Lotus 1-2-3

选择的理由:虽然从逻辑上讲,1900年1月0日相当于1899年12月31日,但这些系统不允许用户指定后一个日期。


所以在你的情况下,也许1899-12-3001899-12-311