c#: Excel date FromOADate转换日期和月份



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

当试图在c#中获得这个值时,我得到了一个双精度值,所以我用frommoadate

函数来解决它

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

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互操作

这是一个与EXCEL相关的问题,它翻转日期,因此作为解决方案,我使用xlRange.Cells[i, 1].Text代替xlRange.Cells[i, 1].Value2

相关内容

  • 没有找到相关文章

最新更新