-3

これが DateTime Picker のコードの一部です。誰かが DateTime Picker から StartDate と EndDate を選択すると、unitHolidays になります。

ここでは、完全な休日を取得する必要があります。誰かが開始日を選択したが、時間が午前 12:00:00 で終了日が午前 12:00:00 であるかどうかを考慮する必要があります (例: 完全な休日を参照)

完全な休日 2013 年 9 月 19 日 12:00:00 AM から 2013 年 9 月 20 日 12:00:00 AM

しかし、私の次のコードでは、12 時間のスロットが休日になります。

  foreach (UnitHolidays uh in unitHolidays)
  {

       for (DateTime dth = uh.StartDate; dth <= uh.EndDate; dth = dth.AddDays(1))
       { 
           RadCalendarDay rcdHoliday = new RadCalendarDay();
           rcdHoliday.Date = dth.Date;
           rcdHoliday.IsDisabled = true;
           rcdHoliday.IsSelectable = true;
           rcdHoliday.ToolTip = "Holiday";
           rcdHoliday.ItemStyle.BackColor = System.Drawing.Color.MediumOrchid;
           rdpStDt.Calendar.SpecialDays.Add(rcdHoliday);
       }
   }

誰かが 12:00:00 AM から 12:00:00 AM を選択した場合、私はそれを休日と見なすだけで済みます。

4

2 に答える 2

1

開始日と終了日に丸一日という表現はないでしょう9/19/2013 12:00:00 AM9/19/2013 11:59:59 PM。同日ではない翌日を含むため、and notを使用する必要があります。>=<<<=

次のようなものが必要です。

private bool IsHoliday(DateTime startDate, DateTime endDate)
{
    return DateTime.Now >= startDate && DateTime.Now < endDate;
}
于 2013-09-19T16:50:52.737 に答える