簡體   English   中英

計算兩個日期之間的天數的代碼

[英]Code to calculate no.of days between two dates

C#代碼來計算兩個日期之間的天數...我在一個文本框中有開始日期,在另一個文本框中有結束日期,我需要獲取否。 兩個日期之間的天數,並顯示在第三個文本框中,並且應排除假日和周末(周六和周日)。

您可以將文本框日期解析為日期時間對象,然后在以下幾行中嘗試一些操作。

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);
 var dateDiff = FirstDate - SecondDate; 
 double totalDays = dateDiff.TotalDays;

如果文本框中有兩個日期,即textBox1和textBox2

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;

編輯

如果您需要不循環而執行操作,請按以下步驟操作。

如果日期差太大,則循環可能會消耗一些額外的時間。

嘗試這個..

    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; }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM