我有两个日期,客户已生成遗留许可证
这些是日期格式02-03-2015, 09-08-2015
,所以我需要给他一个错误,说明你已超过许可证生成次数。
因为,客户只能在一年内生成许可证两次,我正在努力比较这两年中给定的日期以及这是否属于今年(或)不是......
我正在使用C#进行此验证,如果有任何人请建议如何做到这一点...
非常感谢提前
答案 0 :(得分:2)
我建议阅读此链接: Calculate difference between two dates (number of days)?
(EndDate - StartDate).TotalDays
如果您有结果> 365然后您可以假设用户已超过许可证生成计数
以下是我的表现:
private bool AllowToRenew(List<DateTime> renewalDateList)
{
var date = renewalDateList.OrderBy(x => x).First().AddYears(-1);
return renewalDateList.Count(x => x > date) > 1;
}
答案 1 :(得分:1)
使用您检查createdAt Date年份和用户的许可证在数据库表上执行SELECT
SELECT COUNT(*) FROM licTable WHERE year(createdate_column) = 2015 AND user = 123
如果结果(返回记录的数量)>> 2,则抛出错误!
答案 2 :(得分:0)
您可以使用RangeValidator进行此操作,将类型设置为日期,并从代码后面设置最小值和最大值