7

日付ピッカーから選択した日付が週末でないかどうかを確認する必要があります。この関数は、新しい開始日が週末かどうかをチェックし続ける必要があります。また、週末が発生した場合は、開始日に日数を追加する必要があります。

コードは次のようになります。

int startday = Datepicker1.SelectedDate;
if (startdate = weekendday, startdate++)
{
 startdate++ //or if a sunday +2
}
else
{
 return startdate
}

ご協力ありがとうございました。

4

5 に答える 5

23
if (startdate.DayOfWeek == DayOfWeek.Saturday)
    startdate = startdate.AddDays(2);
else if (startdate.DayOfWeek == DayOfWeek.Sunday)
    startdate = startdate.AddDays(1);
于 2012-10-08T12:30:17.917 に答える
4

プロパティを使用するDayOfWeekと、週末を明示的に確認できます。このようなもの:

if ((startDate.DayOfWeek == DayOfWeek.Saturday) ||
    (startDate.DayOfWeek == DayOfWeek.Sunday))

もちろん、条件文としては少し長いです。ヘルパー メソッドに抽象化すると、少しすっきりします。

private bool IsWeekend(DateTime date)
{
    return (date.DayOfWeek == DayOfWeek.Saturday) ||
           (date.DayOfWeek == DayOfWeek.Sunday)
}

このように使用するには:

if (IsWeekend(startDate))

または、おそらくもう少しきれいに、次の拡張メソッドを作成できますDateTime

public static bool IsWeekend(this DateTime date)
{
    return (date.DayOfWeek == DayOfWeek.Saturday) ||
           (date.DayOfWeek == DayOfWeek.Sunday)
}

次のように使用します。

if (startDate.IsWeekend())
于 2012-10-08T12:33:45.023 に答える
0

ここDateTime.DayOfWeek記載されているをご覧ください。

while(startday.DayOfWeek == DayOfWeek.Saturday 
         || startday.DayOfWeek == DayOfWeek.Sunday)
{
   startday = startday.AddDays(1);
}
于 2012-10-08T12:29:27.817 に答える
0

DateTime.DayOfWeekプロパティを使用するだけです。MSDNの良い例:http://msdn.microsoft.com/en-us/library/system.datetime.dayofweek.aspx

于 2012-10-08T12:29:34.717 に答える
0

プロパティを見てDateTime.DayOfWeekください。これにより、DateTimeオブジェクトが該当する曜日がわかります。

于 2012-10-08T12:31:02.600 に答える