Си диез / Говнокод #3734 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
public static byte[] GetMonthlyFinancialReport(
        //...
        DateTime dateInterested)
    {
// ...

        DateTime monthAgoDate = dateInterested;

        int dayInterested = dateInterested.Day;
        int daysInMonthInterested = DateTime.DaysInMonth(dateInterested.Year, dateInterested.Month);
        int daysInPreviousMonth = DateTime.DaysInMonth(dateInterested.Year, (dateInterested.Month == 1) ? 12 : (dateInterested.Month - 1));

        if (dayInterested == daysInMonthInterested)
        {
            monthAgoDate = monthAgoDate.AddDays(-1 * monthAgoDate.Day);
        }
        else
        {
            monthAgoDate = monthAgoDate.AddDays(-1 * Math.Max(daysInPreviousMonth, Math.Min(daysInMonthInterested, dayInterested)));
        }

// ...
    }

Головоломочка для любителей поиграться с датами... :)

Запостил: svkandroid svkandroid, (Updated )

Комментарии (2) RSS

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8