我正在从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
。