繁体   English   中英

从Datepicker对象C#增加日期

[英]Increment Date from Datepicker Object C#

我有2个用于过滤Access查询的datapicker对象。 例如,当我运行查询9/1/2012(开始日期)和9/5/2012(结束日期)时,它为我提供了从2012年9月1日凌晨12点到2012年9月4日11:59的所有信息。 是否可以通过增加结束日期来包含结束日的实际日历天?

这是我的代码:

        string startDate = dateTimePicker1.Text;
        string endDate = dateTimePicker2.Text;

        OleDbCommand command = new OleDbCommand();
        command.Parameters.AddWithValue("@startDate", startDate); 
        command.Parameters.AddWithValue("@endDate", endDate); 
        try {
            command.Connection = connect;
            command.CommandText = "SELECT RecordID, TimeStamp, EmployeeName, AreaDescription FROM LoginRecords r, Employees e, Areas a WHERE (e.EmployeeID = r.EmployeeID) AND (a.AreaID = r.AreaID) AND (TimeStamp BETWEEN @startDate AND @endDate) ORDER BY TimeStamp";
            OleDbDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                tw.WriteLine(reader["RecordID"].ToString() + " " + reader["TimeStamp"].ToString() + " " + reader["EmployeeName"].ToString() + " " + reader["AreaDescription"].ToString() + ",");
                listBox1.Items.Add(reader["RecordID"].ToString() + " " + reader["TimeStamp"].ToString() + " " + reader["EmployeeName"].ToString() + " " + reader["AreaDescription"].ToString() + ",");
            }
        }
        catch (Exception ex){
                MessageBox.Show("Error: " + ex.Message);
        }

您可以通过使用获得实际的DateTime值Value的财产DateTimePicker 然后AddMinutes, AddDays您可以使用AddMinutes, AddDays等来增加值。

以下将第二天作为结束日期。

DateTime endDate = dateTimePicker2.Value.Date.AddDays(1);

您可以格式化值定制。 使用以下内容。

dateTimePicker2.Format = DateTimePickerFormat.Custom;
dateTimePicker2.CustomFormat = "MMMM dd, yyyy - dddd";

如果要使用SQL查询,最好格式化Date值,如下所示:

CONVERT(varchar(10) ,dateTimePicker2.text,120) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM