2011-11-08 4 views
0

강의를 만들 수있는 페이지를 만들고 있습니다. 상담 슬롯을 만드는 방법은 5 일 (5 일) 동안 루프에서 버튼 컨트롤을 채 웁니다. 나는 시간표에 클래스가있는 클래스를 비활성화하고 버튼 내용으로 버튼을 식별 한 다음 데이터베이스에 저장해야합니다. 강사가 버튼을 클릭하면 열 (일) + 시간 슬롯의 날짜가 팝업됩니다. 2시간 다음 08:00 START_TIME에서 8시 반 09:00, 9시 반 4 버튼이 비활성화 될 경우, START_TIME = 2시간 -요일에 예약 가능한 날짜를 받으십시오.

Data for verify and disable button from table of timetable 
    start_time -> 2011-11-08 08:00:00 
    end_time -> 2011-11-08 10:00:00 

은 그 때 나는 END_TIME을 사용할 계획입니다. 나는 어떻게 현재의 요일의 날짜를 얻을 수 알고 있습니다, 나는

내가 월요일 열의 버튼을 생성
 string[] timeslot = {"08:00 AM", "08:30 AM", "09:00 AM", "09:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "01:00 PM", "01:30 PM", "02:00 PM", "02:30 PM", "03:00 PM", "03:30 PM", "04:00 PM", "04:30 PM", "05:00 PM", "05:30 PM"}; 
     for (int i = 0; i < 20; i++) 
     { 
      Button btnMonday = new Button 
            { 
             Height = 38, 
             Width = 256, 
             Content = timeslot[i], 
             Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xB1, 0xB1, 0xB1)) 
            }; 
      // Sets dependency properties 
      btnMonday.SetValue(Grid.ColumnProperty, 0); 
      btnMonday.SetValue(Grid.RowProperty, i); 
      // Adds the dynamically created control to the canvas 
      LayoutRoot.Children.Add(btnMonday); 
     } 

로 버튼을 만들 수 있지만 나는 월요일 gettime.now() 가정 수없는 이유는 무엇입니까?

+0

'DayOfWeek' 열거 형을 요청 했습니까? 나는 너의 질문에 조금 혼란스러워. – Marc

+0

나는 버튼이 월요일, 화요일, 수요일, 목요일, 금요일을 위해 설계된 것을 알고있다. 하지만 버튼은 맞춤 버튼이므로 이번 주 월요일 월요일을 알 필요가 있습니다. – 1myb

답변

2

DayOfWeek은 열거 형이므로 int로 형변환 될 수 있습니다.

public enum DayOfWeek 
{ 
    Sunday = 0, 
    Monday = 1, 
    Tuesday = 2, 
    Wednesday = 3, 
    Thursday = 4, 
    Friday = 5, 
    Saturday = 6, 
} 

은 그럼 당신은 다시 당신이 원하는 당신이 다음 요일을 추가 할 수 DateTime.Today

public static DateTime GetLastSunday() 
{ 
    DateTime today = DateTime.Today; 
    return today.AddDays(-((int)today.DayOfWeek)); 
} 

에서 일의 해당 번호를 취할 수

public static DateTime GetDayOfThisWeek(DayOfWeek dayOfWeek) 
{ 
    DateTime today = DateTime.Today; 
    DateTime lastSunday = today.AddDays(-((int)today.DayOfWeek)); 
    return lastSunday.AddDays((int)dayOfWeek); 
} 

업데이트 :

30 분 주치기 nks :

public IEnumerable<DateTime> GetHalfAnHourChunks(DateTime startFrom, DateTime until) 
{ 
    while(startFrom < until) 
    { 
     yield return startFrom; 
     startFrom = startFrom.AddMinutes(30); 
    } 
} 
+0

나는 여전히 이것을 테스트하고 나중에 결과에 대해 알립니다. D 모든 것이 매력. 하지만, 30 분마다 나누는 시간을 정하는 방법에 대한 제안이 있습니까? – 1myb

+1

'DateTime.Now - startOfWeekDateTime'은'TimeSpan'으로 시간을 알려줍니다. 30 분 청크로 분할에 관해서는, 나는 대답 (Y) – Connell

+0

Thx 젠장 ... 내 약점은 그런 알고리즘을하고있다 @. @ 당신의 대답은 많은 도움이 D – 1myb

관련 문제