15#include <userver/utils/assert.hpp>
17USERVER_NAMESPACE_BEGIN
21namespace date = ::date;
23using Days = date::days;
24using DaysTimepoint = date::sys_days;
28 return std::chrono::duration_cast<Days>(
29 DaysTimepoint{date::year_month_day(date::year(to), date::month(1), date::day(1))} -
30 DaysTimepoint{date::year_month_day(date::year(from), date::month(1), date::day(1))}
36 UINVARIANT(month >= 1 && month <= 12,
"Month must be between 1 and 12");
37 return date::year_month_day_last(date::year(year), date::month_day_last(date::month(month))).day();