0

我试图测试员工工作的月份是否等于从他们开始工作到现在的 3 个月。这就是我想要使用的:

int totalMonth = 3;
int totalYear = 0;
int mon = DateTime.Now.Month;
int yr = DateTime.Now.Year;
//block of code that I used LinQ to Entity to get staff start work date
result = result.Where(((s => mon - int.Parse(s.StartDate.Substring(3, 2).ToString()) == totalMonth && yr -int.Parse(s.StartDate.Substring(6, 4).ToString()) == totalYear))).ToList();

我的数据库中日期的格式是07/05/2012但我得到了错误:

startIndex cannot be larger than length of string. Parameter name: startIndex

谁能告诉我,我在这里做错了什么?提前致谢。

4

1 回答 1

1

我数据库中日期的格式是 07/05/2012

日期很可能以二进制形式存储并且没有格式。您在列出记录时看到的可能与 C# 中发生的不同。

使用调试器找出result.First().StartDate实际的样子。可能是"5-7-12"

于 2012-08-12T12:31:54.317 回答