Ответ
Misha v.3 19.11.2011 01:10
/ 19.11.2011 01:13
то, что -30 не равно -1 month -- это понятно.
вы не сказали, какая у вас задача, поэтому я упомянул близкие по смыслу функции.
в реалиях, лично я ни разу не использовал ^roll[month](-1) :)
и мне было-бы интересно услышать реальную задачу, для которой он нужен (задача показать записи пользователя, случившиеся ровно за последний месяц с учётом количества дней в этом месяце -- по моему бессмысленная, хотя я не делал billing, может там она может пригодиться).
действие roll-а не прекращается. roll изменяет переданную ему дату.
если надо иное поведение -- напишите свой оператор roll, который будет копировать дату (Sumo дал ссылку на метод), "сдвигать" копию и возвращать её, а исходную дату трогать не будет.