2011-06-28 5 views
0

今月の週末の日付のリストを取得したい。 は、私は私のリスト内のすべての週末の日付を格納することができますどのような方法があるある現在の月を取得する方法asp.netでカレンダーコントロールの週末のリストを使用してC#

list<datetime> mylist=new list<datetime>(); 

私は次の数ヶ月で、現在の月のマイリストと同じで イム使用してasp.netカレンダーコントロールを週末の日付を格納したいと私はしたいです私のリストに週末の日付を保存する。今月の

答えて

4

、あなたが

var startDate = DateTime.Now; 
var first = new DateTime(startDate.Year, startDate.Month, 1); 
List<DateTime> weekends = new List<DateTime>(); 
for (int i = 0; i <= DateTime.DaysInMonth(startDate.Year, startDate.Month); i++) 
{ 
    var nextDay = first.AddDays(i); 
    if (nextDay.DayOfWeek == DayOfWeek.Saturday || nextDay.DayOfWeek == DayOfWeek.Sunday) 
    { 
     weekends.Add(nextDay); 
    } 
} 

を行うことができますあなたは、来月のために非常によく似た何かを行うことができます。月の毎週のための

+0

22秒で私にそれを打つ! –

+0

ur返信ありがとうが、私はasp.netカレンダーコントロールから週末を取得する必要があります – Wasif

+0

@Wasifカレンダーコントロールで週末を選択しようとしていますか? –

0

繰り返し、これを

DateTime date = DateTime.Now; 
     DateTime saturday; 
     DateTime sunday; 
     if (date.DayOfWeek == DayOfWeek.Monday) 
     { 
      saturday = date.AddDays(5); 
      sunday = date.AddDays(6); 
     }else if (date.DayOfWeek == DayOfWeek.Tuesday) 
     { 
      saturday = date.AddDays(4); 
      sunday = date.AddDays(5); 
     } 
     else if (date.DayOfWeek == DayOfWeek.Wednesday) 
     { 
      saturday = date.AddDays(3); 
      sunday = date.AddDays(4); 
     } 
     else if (date.DayOfWeek == DayOfWeek.Thursday) 
     { 
      saturday = date.AddDays(2); 
      sunday = date.AddDays(3); 
     } 
     else if (date.DayOfWeek == DayOfWeek.Friday) 
     { 
      saturday = date.AddDays(1); 
      sunday = date.AddDays(2); 
     } 
     else if (date.DayOfWeek == DayOfWeek.Saturday) 
     { 
      saturday = date.AddDays(0); 
      sunday = date.AddDays(1); 
     } 
     else if (date.DayOfWeek == DayOfWeek.Sunday) 
     { 
      saturday = date.AddDays(-1); 
      sunday = date.AddDays(0); 
     } 

注:

来週:

date.AddDays(7); 

前の週:

date.AddDays(-7); 
+0

しかし、私はasp.net選択した月のカレンダーコントロールをして、リストに保存したい – Wasif

0
// Get weekend days of visible moth 
public List<DateTime> getWeekEndDays(DateTime dt) 
{ 
    List<DateTime> result = new List<DateTime>(); 

    int month = dt.Month; 
    dt = dt.AddDays(-dt.Day + 1);//Sets dt to first day of month 

    //Sets dt to the first week-end day of the month; 
    if (dt.DayOfWeek != DayOfWeek.Sunday) 
     while (dt.DayOfWeek != DayOfWeek.Saturday) 
      dt = dt.AddDays(1); 

    //Adds the week-end day and stops when next month is reached. 
    while (dt.Month == month) 
    { 
     result.Add(dt); 
     dt = dt.AddDays(dt.DayOfWeek == DayOfWeek.Saturday ? 1 : 6); 
    } 
    return result; 
} 
関連する問題