Fix method setMonth and setYear

- Fix get total day of month
- Fix set when current day's greater than total day
Clean code
Repeat by month