We had problems with the 2038 bug several years ago (try to find the 67th birthday of someone aged approx 18, that will fail long before 2038 - in 1970-something), just as we had all Y2K stuff weeded out long before 1999.
The best solution is to go with a module that allows much greater range of dates than the 1970 to 2038 range that time_t allows with 32 bits.
We changed to Date::Calc (and used the C-library for all C and C++ programs) so we wont have problems before sometime around year 2380(-70 or so years) when our RDBMS's date type goes out of range!