【发布时间】:2015-02-08 08:05:03
【问题描述】:
我一直在使用此代码在输入日期之前的列表中查找最接近的日期。但是我最近发现了一个错误,当输入日期与列表中的第一个日期相同时,代码会崩溃。
allDates 是日期列表,例如。 2015 年 1 月 1 日、2015 年 5 月 1 日、2015 年 10 月 1 日
inputDate 是用户选择的日期
var closestDate = allDates.Where(x => x < inputDate).DefaultIfEmpty().Max();
当我尝试选择列表中的第一个日期时,例如 2015 年 1 月 1 日,最接近的日期为空
现在如果我在列表中选择一个日期,例如,如果列表包含 2015 年 5 月 1 日并且我选择 2015 年 5 月 1 日,它不会选择 2015 年 5 月 1 日,而是选择更早的日期列表,现在我做了一个肮脏的解决方法,将列表日期中的所有日期减少 1
【问题讨论】:
-
allDates是对 SQL 表的查询吗?inputDate是DateTime。 -
您发布的代码中没有任何内容表明正在使用 SQL,更不用说清楚 如何 在这里使用它(
allDates? 的来源结果?)。如果您将DateTime的默认值写入SQL 数据库,那可能行不通。有关发布有用问题的建议,请参阅 stackoverflow.com/help/mcve 和 stackoverflow.com/help/how-to-ask。请编辑您的问题,以便为某人提供足够的信息以提供好的答案。确保包含准确的错误信息,包括完整的堆栈跟踪。 -
Correction ,我的意思是最近的日期是空的。错误代码来自我想插入数据库时
-
您能告诉我
5/1/2015代表的是 1 月 5 日还是 5 月 1 日? -
dd/mm/yyyy 格式