The transition into a new year is a difficult one for a programmer. When the year ends, dates don’t continue on, they restart. It’s like driving on a race track, but the track doesn’t loop. So when you complete a lap, you have to drive all the way back to the beginning (moving from month 12 to month 1). This can be a big issue for developers, especially when we have to take into account Leap Years and even Leap Seconds. With more programming languages including Date&Time classes it is sometimes easier, but there are still issues.