格式化正确的date格式的Excel文件
我有一个由excel
文件中的数据生成的list
。 在Excel中,我有一个date列以下行
03/15/2014 02/15/2014 01/15/2014 12/14/2014 11/14/2014
上面的date应该是MM/dd/yyyy
但由于某些原因,生成excel文件的应用程序只是将数据作为文本进行处理,而不是以yyyy格式生成是的,只是在Daydate并生成一个随机的年份。
所以,在上面的例子中,数据03,02,01,12,11
是我想要的数据,但是15,15,15,14,14
应该是年,而在上面的例子中它是作为Day生成的。
实际的数据应该是
03/dd/2015 02/dd/2015 01/dd/2015 12/dd/2014 11/dd/2014
现在,有没有在C#
任何方法,我可以通过它来处理这个date列表,并得到正确的date的另一个列表?
假设dd
可以是任何date,但是对于所有的date应该是相同的
如果你可以在Excel中添加一个额外的列来转换值:
=DATE(DAY(A1)+2000,MONTH(A1),1)
如果你在c#
dt1
variables中有错误的date:
DateTime dt2 = new DateTime(dt1.Day+2000,dt1.Month,1);
使用DateTime.Parse(String,IFormatProvider)或DateTime.ParseExact将string转换为DateTime。
然后,您可以使用相应的属性提取日,月和年。 信用去Amsakanna
我用这个作为我的答案
foreach(var item in SourceList) { int newYear = Convert.ToInt32(item.Year.ToString().Substring(0,2) + item.Day.ToString()); DateTime result = new DateTime(newYear, item.Month, 10); ResultList.Add(result); }