in reply to Perl calendar

AFAIK, both localtime() and Time::Local (a core module) work on Windows and Linux, and you can use them to perform date calculations.

Unix time, the value returned by time(), does not take into account leap seconds. Therefore days are always 86400 seconds long which makes it useful for performing date arithmetic. However, be aware that localtime() may not work with a Unix time that represents a date past January 19th, 2038. This is known as the Year 2038 problem. The good news is that a fix for perl is actively being worked on (link).