根据数据库中的数据生成时间间隔

时间:2014-04-07 18:09:45

标签: c# asp.net datetime nstimeinterval

我有一个问题,我正在寻求帮助。我有一个预订活动的系统,我需要预约'基于存储在'事件中的数据的信息'表。所以这是我的问题。

我的桌子上有一个' StartDateTime',' EndDateTime'和'持续时间' (对于每个活动固定的预约时间)我不会根据“开始”自动生成时间间隔。并且'结束'使用'持续时间'对于时间间隔。然后,我希望系统在表格中返回所有可能的时间,显示已经预订的任何内容。

我正在使用DateTime for StartDateTime Variable和EndDateTime Variable,对于TimeInterval,我正在使用TimeSpan。我在网上找到了几个这样的例子,但目前除了下面的DateTime格式(dd / MM / yyyy HH:mm:ss)之外,目前无法得到它们。

(将在今天晚些时候发布示例代码)

有没有人有任何疑问?

1 个答案:

答案 0 :(得分:1)

通过我自己的问题进行了一些挖掘和阅读后,我设法找到了我自己问题的两个部分的解决方案,我已经发布了部分代码:

对于StartTime和EndTime,我使用的是DateTime的变量类型,然后我将它转换为格式为HH:mm(16:10)的字符串,用于我在本节中使用TimeSpan的时间间隔。我有3个变量作为函数的输入,然后在下面的脚本中调用访问这些变量,然后我调用外部函数来检查预订是否存在或者如果预订了槽则返回false,如果无槽,则返回true。

        Table AppointmentTable = new Table();
        DateTime time = startTime;
        while (time <= endTime)
        {
            TableRow tblr_row = new TableRow();
            TableCell tblc_cell = new TableCell();
            TableCell tblc_time = new TableCell();
            try
            {
                if(Appointments.checkIfBookingExsists(time) == true)
                {
                    tblc_time.Text = time.ToString("HH:mm");
                    tblc_cell.Text = "Booked";
                    tblc_cell.CssClass = "Booked";
                }
                else if(Appointments.checkIfBookingExsists(time) == false)
                {
                    tblc_time.Text = time.ToString("HH:mm");
                    tblc_cell.Text = "Book";
                    tblc_cell.CssClass = "Book";
                }

            }
            catch (Exception ex)
            {
                tblc_time.Text = time.ToString("HH:mm");
                tblc_cell.Text = ex.Message;
            }
            tblc_time.CssClass = "tableCell";
            tblr_row.Controls.Add(tblc_time);
            tblr_row.Controls.Add(tblc_cell);
            AppointmentTable.CssClass = "table1";
            AppointmentTable.Controls.Add(tblr_row);
            //Move interval 16:10 > 16:20 interval 10 minutes
            time = time.Add(interval);
        }
        Page.Controls.Add(AppointmentTable);

我不是那些只是在寻找免费代码的人之一。但是一个勤奋的网络工程师,对应用程序开发感兴趣。我将一直试图解决自己的问题,但有时会寻求帮助。我理解这个问题的描述是“粗略的”或“粗略的”。但最后我找到了解决方案。

希望别人能比我更好地使用这些代码! :)