Dates are actually really, really hard to get right. They've been a problem for everyone for decades. When I started programming professionally about 10 years ago you'd be lucky if most programmers had even heard of UTC, let alone knew what it meant. Date bugs happen to everyone.
These days the higher order languages hide all the big problems from you. But when you get closer to the metal and you've not got someone else's library to help you it's very easy to make a mistake.