Почему DateTimeInfo.MonthNames возвращает 13 участников?
Возможный дубликат:
GetMonthName: допустимые значения от 1 до 13 включительно. Зачем?
Следующий код:
DateTimeFormatInfo datetimeinfo = new CultureInfo("en-GB", false).DateTimeFormat;
string[] months = datetimeinfo.MonthNames;
возвращает 13 членов, где 0 - январь, а 13 - пустая строка.
Почему это?
Это не страшно, так как я могу просто удалить последнего участника, но мне просто интересно, есть ли в этом смысл.
1 ответ
У некоторых календарей, особенно на иврите, может быть 13 месяцев. Это обычно происходит в лунно-солнечных календарях, в которых используются лунные месяцы, а затем добавляется дополнительный месяц каждые несколько лет, чтобы избежать слишком большого изменения начала года по сравнению с солнечным годом.