1

2 つの日付の間の日数を計算する C# コード...あるテキストボックスに開始日があり、別のテキストボックスに終了日があり、いいえを取得する必要があります。2 つの日付の間の日数で、3 番目のテキスト ボックスに表示され、休日と週末 (土曜と日曜) を除外する必要があります。

4

4 に答える 4

3

テキストボックスの日付を日時オブジェクトに解析してから、次の行で何かを試すことができます。

DateTime startDate = new DateTime(2013, 03, 01);
DateTime endDate = DateTime.Today; // 12 March 2013
int totalDays = 0;
while (startDate <= endDate)
{
    if (startDate.DayOfWeek == DayOfWeek.Saturday
        || startDate.DayOfWeek == DayOfWeek.Sunday)
    {
        startDate = startDate.AddDays(1);
        continue;
    }
    startDate = startDate.AddDays(1);
    totalDays++;
}

Console.WriteLine("Total days excluding weekends: {0}", totalDays);
于 2013-03-12T07:10:43.957 に答える
2
 var dateDiff = FirstDate - SecondDate; 
 double totalDays = dateDiff.TotalDays;
于 2013-03-12T07:21:14.483 に答える
1

これを試して..

    DateTime startdate = DateTime.Parse("somedate");
    DateTime enddate = DateTime.Parse("somedate");
    int daycount = 0;
    while (startdate < enddate)
    {
        startdate = startdate.AddDays(1); // Fixed
        int DayNumInWeek = (int)startdate.DayOfWeek;
        if (DayNumInWeek != 0)
        {
            if (DayNumInWeek != 6)
            { daycount += 1; }
        }
    }
于 2013-03-12T07:35:54.140 に答える
1

テキストボックス、つまり textBox1 と textBox2 に 2 つの日付がある場合

DateTime date1= new DateTime();
DateTime date2 = new DateTime();
double days;

bool isDate1Valid =DateTime.TryParse(textBox1.Text, out date1);
bool isDate2Valid =DateTime.TryParse(textBox2.Text, out date2);

if(isDate1Valid && isDate2Valid)
days = (date1-date2).TotalDays;

編集

ループせずに実行する必要がある場合は、次のようにします。.

日付の差が大きすぎると、ループ処理に余分な時間がかかる場合があります。

于 2013-03-12T07:23:58.783 に答える