С точки зрения философии "тот же период но за прошлый год" явно бессмысленное выражение.
А вам, видимо, нужен период с теми же в пределах года границами - то есть - самое простое решение разложить на составляющие начало и конец периода и сделать -1 к году, а потом собрать обратно.
P.S. не напоритесь на 29 февраля.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший