Как я добираюсь в последний день месяца?

Как я могу найти в последний день месяца в C#?

Например, если у меня есть дата 08.03.1980, как я добираюсь в последний день месяца 8 (в этом случае 31)?

293
задан Peter Mortensen 12 June 2016 в 04:40
поделиться

5 ответов

Последний день месяца, который вы видите, возвращает 31:

DateTime.DaysInMonth(1980, 08);
597
ответ дан 23 November 2019 в 01:38
поделиться
DateTime firstOfNextMonth = new DateTime(date.Year, date.Month, 1).AddMonths(1);
DateTime lastOfThisMonth = firstOfNextMonth.AddDays(-1);
82
ответ дан 23 November 2019 в 01:38
поделиться
var lastDayOfMonth = DateTime.DaysInMonth(date.Year, date.Month);
168
ответ дан 23 November 2019 в 01:38
поделиться

Вычтите день из первого числа следующего месяца:

DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month+1,1).AddDays(-1);

Кроме того, если вам нужно, чтобы он работал и в декабре:

DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month,1).AddMonths(1).AddDays(-1);
10
ответ дан 23 November 2019 в 01:38
поделиться

Я не знаю C #, но, если окажется, что нет удобного способа получить его через API, один из способов сделать это - следуя логике:

today -> +1 month -> set day of month to 1 -> -1 day

Конечно, это предполагает, что у вас есть математика даты такого типа.

0
ответ дан 23 November 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: