我有list
,它是由excel
文件中的数据生成的。在excel中,我有一个日期列,其中包含以下行
03/15/2014
02/15/2014
01/15/2014
12/14/2014
11/14/2014
上述日期应该与MM/dd/yyyy
类似,但由于某些原因,生成excel文件的应用程序只是将数据作为文本进行处理,而不是以yyyy格式生成,它只保留一年这一天提交并随机生成一年。
因此,在上面的示例中,数据03,02,01,12,11
是我想要的月份,但15,15,15,14,14
应为年而不是在上例中生成为日。
实际数据应为
03/dd/2015
02/dd/2015
01/dd/2015
12/dd/2014
11/dd/2014
现在,C#
中是否有任何方法可以处理这个日期列表并获得另一个正确日期的列表?
前提是dd
可以是任何日期,但所有日期应该相同
答案 0 :(得分:1)
如果您可以在Excel中添加额外的列来转换值:
=DATE(DAY(A1)+2000,MONTH(A1),1)
如果c#
dt1
变量中有'错误'日期:
DateTime dt2 = new DateTime(dt1.Day+2000,dt1.Month,1);
答案 1 :(得分:0)
使用DateTime.Parse(String, IFormatProvider)或DateTime.ParseExact将字符串转换为DateTime。
然后,您可以使用相应的properties提取日,月和年。 归功于Amsakanna
答案 2 :(得分:0)
我用这个作为我的答案
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);
}