parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

там кстати можно было бы изменить сам принцип работы

Sergey M. 09.05.2012 16:35

календарный цикл у нас вроде 28 лет, то есть через 28 лет в 2040 году у нас снова будет Среда, 9 Мая, 130 день года, итд. Следовательно мы можем взять например диапазон 1970-1998 за базовый, в конструкторе вычислять $смещение текущего диапазона относительно базового (2040-1970)\28 и делать родной date create подставив вместо переданного года его эквивалент из диапазона - 2040 - 28 * $смещение.

Итог - нам "из коробки" будут доступны все поля родного date и большинство родных методов с минимальной подкруткой - при выдаче год из диапазона нам нужно будет заменять на реальный. Чуть труднее с методами типа roll или daysbetween но так как мы точно знаем количество секунд (дней, месяцев) в нашем диапазоне, то думаю подкрутить тоже не составит труда.