如何在asp.net中获得带有秒的日期时间选择器

本文关键字:日期 选择器 时间 asp net | 更新日期: 2023-09-27 18:14:49

我有一个任务,我必须根据DateFrom和DateTo过滤记录。在mysql中,日期格式是'2014-07-18 20:03:08',就像这样。在前端,我使用DatetimePicker文本框.. DatetimePicker格式的结果给出"2014/07/09下午两点"。所以不可能比较db dateformat和datetime format。

我想要日期时间选择器与秒..请帮助我

如何在asp.net中获得带有秒的日期时间选择器

DateTimePickerValue属性中存储DateTime。您可以添加所需的秒数:

DateFrom.Value = DateFrom.Value.AddSeconds(seconds); 

datetimepicker格式结果为'2014/07/09 14:00'。

不要在MySql中使用字符串作为datetime-column的参数。相反,使用sql-parameters并直接传递DateTime:

// add seconds if you want, but i don't see any reason for it
// maybe you want to include the To-date, then you can add a day - one second
DateTo.Value = DateTo.Value.AddDays(1).AddSeconds(-1);
using (MySqlConnection conn = new MySqlConnection("connStr"))
{
    try
    {
        conn.Open();
        string sql = @"SELECT t.From, t.To, OtherColumns...
                       FROM TableName t 
                       WHERE FROM >= @From AND To <= @To";
        using(MySqlCommand cmd = new MySqlCommand(sql, conn))
        {
            cmd.Parameters.AddWithValue("@From", DateFrom.Value);
            cmd.Parameters.AddWithValue("@To", DateTo.Value);
            using (MySqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                { 
                    // ...
                }
            }
        }
    } catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

日期时间选择器并不总是为这种精度而设计的。

我建议使用带有文本框的自定义DateTime选择器,以允许您的用户以秒为单位输入完整的时间。