Китайский календарь - C#
Формулировка задачи:
Массив Чисел значений даты OLE-автоматизации:
int[] data = new int[] { 10959, , , , , , , 42308... };
Известно, что промежуток от 10959 и до 11335 соответствует
промежутку обычного календаря от 01.01.1930 и до 12.01.1931,
что соответствует году лошади по Китайскому календарю.
Следующий за ним год козы лежит в промежутке:
от 11336 и до 11688 и соответствует
датам от 13.01.1931 и до 31.12.1931 обычного календаря
и так далее...
Из за того, что календарные промежутки разные решение возможно
с помощью преобразования числового значения в эквивалентное ему
значение даты OLE-автоматизации.
Необходимо из предлагаемой пользователем даты в Label1.Text
(пусть это будет 09. 05. 1945),
определить какому году Китайского календаря она соответствует
и вывести в Label2.Text.
Попытки найти способ перевести дату в OLE-автоматизации ни к чему не привели,
Все найденное предлагает перевести Текущую дату в OLE,
а чтобы определить промежутки, нужно Определённые даты перевести в OLE.
Надеюсь на Вашу помощь как в малом, так и в великом.
Поставим вопрос иначе.
строка:
Label_1 = DateTime.Now.ToOADate();
возвращает эквивалент Текущей даты: 42310
как мне найти эквивалент даты 09.05.1945
Решение задачи: «Китайский календарь»
textual
Листинг программы
public static DateTime FindFirstNewYearDate(this EastAsianLunisolarCalendar calendar, DateTime d)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д