如何将datetime与datepicker中的值进行比较
本文关键字:比较 datepicker datetime | 更新日期: 2023-09-27 17:59:45
我需要将所选日期与数据库中的日期进行比较,并返回日期范围内的值,但格式一直不正确。数据库中的日期格式为2016-01-02 00:00:00.000(来自其中一行)
我正在使用下面的代码,但无法进行比较并不断得到"字符串未被识别为有效的DateTime。"帮助?
protected void RadPushButton1_Click(object sender, EventArgs e)
{
DateTime startDate = DateTime.Parse(RadDatePickerStart.SelectedDate.ToString());
string s = startDate.Date.ToString("yyyy-dd-MM");
startDate = DateTime.Parse(s+"12:00:00 AM");
// DateTime endDate = DateTime.Parse(RadDatePickerEnd.SelectedDate.ToString());
EMCSettlementManager man = new EMCSettlementManager();
Grid.DataSource = man.GetSTL010(r => EntityFunctions.TruncateTime( r.settlement_date) >= startDate);
Grid.DataBind();
}
如果要比较日期,请确保所有值的类型都是DateTime
,而不是String
。
试试这样的东西:
DateTime startDate = RadDatePickerStart.SelectedDate;
EMCSettlementManager man = new EMCSettlementManager();
Grid.DataSource = man.GetSTL010(r => r.settlement_date >= startDate);
如果你想去掉时间部分,你可以这样做:
DateTime startDate = RadDatePickerStart.SelectedDate.Date;
如果数据库中的字段是字符串类型,而不是日期时间,请将其转换为日期(时间)类型。到处使用字符串是一种糟糕的选择,alsnog被称为"字符串类型"。(请参见:https://blog.codinghorror.com/new-programming-jargon/)