pub fn calculateMonthDay(self: YearAndDay) MonthAndDay self: YearAndDay114
115
116
117
118
119
120
121
122
123
124
125 pub fn calculateMonthDay(self: YearAndDay) MonthAndDay {
var month: Month = .jan;
var days_left = self.day;
while (true) {
const days_in_month = getDaysInMonth(self.year, month);
if (days_left < days_in_month)
break;
days_left -= days_in_month;
month = @as(Month, @fromBackingInt(@intCast(@backingInt(month) + 1)));
}
return .{ .month = month, .day_index = @as(u5, @intCast(days_left)) };
}