Меня интересует код APL для распаковки даты, упакованной в целое число дней, с использованием правил григорианского календаря.
Месяц назад я задал вопрос, чтобы код APL упаковал дату, чтобы я мог рассчитать количество дней между датами (Преобразование даты в количество дней). Это отлично сработало, и теперь я хотел бы хранить даты таким образом; однако это означает, что мне нужно будет их распаковать.
Я пытался это сделать, но логика превратилась в беспорядок, и я чувствую, что промахиваюсь... есть крайние случаи, которые терпят неудачу.
Предполагая, что функция распаковки - Y, что я хотел бы видеть:
Y¨ 1 365 730 1095 736591
1 1 1 1 12 31 2 12 31 3 12 31 2017 9 19
В некоторых версиях может быть библиотечная/внутренняя поддержка, помогающая решить эту проблему, но я ищу решение с чистым кодом APL.