C#:Excel日期FromOADate翻转日期和月份

C#:Excel日期FromOADate翻转日期和月份,c#,asp.net,excel,date,datetime,C#,Asp.net,Excel,Date,Datetime,我正在从excel文件中读取日期值,格式为:(法语格式)“jj/mm/aaaa hh:mm:ss”,所以是:“dd/mm/yyyy hh:mm:ss” 当试图在C中得到这个值时,我得到了一个double,所以我用函数fromOADate解决了这个问题 但问题是,对于像2016年1月4日(1月)这样的日期,即使我设置了格式,我也会将其翻转到2016年4月1日 double dtvalue = xlRange.Cells[i, 1].Value2;

我正在从excel文件中读取日期值,格式为:(法语格式)“jj/mm/aaaa hh:mm:ss”,所以是:“dd/mm/yyyy hh:mm:ss”

当试图在C中得到这个值时,我得到了一个double,所以我用函数fromOADate解决了这个问题

但问题是,对于像2016年1月4日(1月)这样的日期,即使我设置了格式,我也会将其翻转到2016年4月1日

double dtvalue = xlRange.Cells[i, 1].Value2;                           
dateString = DateTime.FromOADate(dtvalue).ToString("dd/MM/yyyy HH:mm");
我已尝试将格式更改为:

dateString = DateTime.FromOADate(dtvalue).ToString("MM/dd/yyyy HH:mm");
并添加此代码以拆分并重新设置:

date = dateString .Split(' ');
string[] firstPart = date[0].Split('/');

day = int.Parse(firstPart[0]);
month = int.Parse(firstPart[1]);
year = int.Parse(firstPart[2]);

DateTime newDate = new DateTime(year, month, day);

newDateString = newDate.ToString("dd/MM/yyyy") + " " + date[1];
它在某些日期起作用,而在其他日期则不起作用

请问我怎样才能解决这个问题


我正在使用ASP.NET MVC5,C#,使用Excel Interop

这是一个与Excel相关的问题,它会翻转日期,因此作为解决方案,我使用了
xlRange.Cells[I,1].Text
而不是
xlRange.Cells[I,1].Value2

您可以尝试使用us区域性:
Thread.CurrentThread.CurrentCulture=new CultureInfo(“en-us”)我将只添加此指令?或者我应该做点什么?因为我试过了,但仍然不起作用,同样的结果请澄清:日期在C#中是否正确,然后返回Excel时是否不正确?或者它在C#中不正确?它在Excel中正确,但返回到C#时不正确。