namespace Admin.NET.Core { public static class ExcelDateUtil { public static long ToInt(DateTime date) { var current = Convert.ToDateTime("1900-01-01") ; if (date.Ticks <= current.Ticks) return 1; var days = (date - current).Days; return days < 59 ? days + 1 : days + 2; } public static long ToInt(DateTimeOffset date) { var current = Convert.ToDateTime("1900-01-01"); if (date.Ticks <= current.Ticks) return 1; var days = (date - current).Days; return days < 59 ? days + 1 : days + 2; } public static DateTime ToDateTime(long days) { var current = Convert.ToDateTime("1900-01-01"); if(days <= 1) return current; return current.AddDays(days < 60 ? days -1 : days - 2); } public static DateTimeOffset ToDateTimeOffset(long days) { var current = new DateTimeOffset(Convert.ToDateTime("1900-01-01")); if (days <= 1) return current; return current.AddDays(days < 60 ? days - 1 : days - 2); } } }