这是我的问题:
我的应用程序中有一个datetimepicker。这与约会日期和其他一些项目一起保存到表格中。日期时间选择器值在SQL-SERVER中保存为datetime。这是我的主要钥匙之一,以及稍后的预约日期,当有人试图在同一天保存另一个预约时,我必须检查当天是否有预约。出现的问题是......因为值以这种格式保存
2015-12-17 14:47:55.000
当我尝试使用时间选择器中的日期稍后选择此选项时,由于时间不同,我无法提取此日期。我试图将日期从datetimepicker格式化为MM / DD / YYYY,但这也不起作用。它似乎无法识别日期,允许用户每天输入多个约会。
答案 0 :(得分:1)
如果您只需要检查日期,则应与
进行比较 void Main()
{
var range = new DateRange(new DateTime(2015,12,6), new DateTime(2016,1,2));
Console.WriteLine(range.IsDateInRange(new DateTime(2015, 12, 28)));
Console.WriteLine(range.IsDateInRange(new DateTime(2015, 1, 1)));
Console.WriteLine(range.IsDateInRange(new DateTime(2015, 1, 3)));
Console.WriteLine(range.IsDateInRange(new DateTime(2015, 11, 28)));
}
public class DateRange
{
public const int OneYearWrap = 1200;
public int BeginValue { get; private set; }
public int EndValue { get; private set; }
public DateRange(DateTime begin, DateTime end)
{
BeginValue = DateValue(begin);
EndValue = DateValue(end);
if (EndValue < BeginValue)
EndValue += OneYearWrap;
}
public bool IsDateInRange(DateTime date)
{
int dateValue = DateValue(date);
if (EndValue > OneYearWrap && dateValue < BeginValue)
dateValue += OneYearWrap;
return dateValue >= BeginValue && dateValue <= EndValue;
}
int DateValue(DateTime date)
{
return date.Month * 100 + date.Day;
}
}
,它只会返回列数据的日期部分。