From `date` manpage: When setting values (rather than adjusting them), seconds are in the range 0-59, minutes are in the range 0-59, hours are in the It is wrong, because in some years (such as 2016) there are leap seconds what mean that there is 23:59:60 time (with 60 seconds, not in 0-59 range).