2014-10-02 4 views
-3

T. student, и у меня есть эта задача создать программу (на C#), чтобы вычислить количество дней, прошедших через год, без использования свойства DayOfYear. Я использую приложение из формы окна с выбором времени для выбора даты дата, с которой рассчитывать, вот что я получил до сих пор, это не работает, никаких предложений?Как я могу перебирать массив дней в году на C#?

private void dtmSelectedDate_ValueChanged(object sender, EventArgs e) 
    { 
     DaysSoFarThisYear(); 
    } 

    private void DaysSoFarThisYear() 
    { 
     int daysInMonth = dtmSelectedDate.Value.Day; 
     int monthInYear = dtmSelectedDate.Value.Month; 
     int daysSoFar = 0; 

     int[,] daysOfYear = new int[daysInMonth, monthInYear]; 

     for (int row = 0; row < daysOfYear.GetLength(0); row++) 
     { 
      for (int col = 0; col < daysOfYear.GetLength(1); col++) 
      { 
       daysSoFar++; 
      } 
     } 

     txtCalculated.Text = Convert.ToString(daysSoFar); 

     // DateTime dayOfYear = new DateTime(dtmSelectedDate.Value.Year, dtmSelectedDate.Value.Month, dtmSelectedDate.Value.Day); 
     // txtFromNET.Text = Convert.ToString(dayOfYear.DayOfYear); 
    } 
} 
+0

простота является добродетелью мой друг ........... вы воссоздавать код .NET уже (в некотором смысле) обеспечивает. –

ответ

0

Вы можете попробовать это

TimeSpan time= DateTime.Now.Subtract(new DateTime(DateTime.Now.Year, 01, 01)); 
int numberOfDays = time.Days; 
+0

хороший трюк, но вам нужно добавить один день или вычесть новую дату DateTime (DateTime.Now.Year-1,12,31), иначе вы получите неправильный счет дня. , например. 01.01.2014 - 01.01.2014 = 0, но это еще первый день в году – Sukram

Смежные вопросы