in reply to time & localtime() function Q?

time returns the number of seconds since some arbitrary "epoch" time. For most operating systems, that time is 00:00 Jan 1st 1970 (GMT). As someone else pointed pointed out, that number just passed 1E9.

To convert from a given date to an epoch number use the timelocal function from the (standard) Time::Local module. To convert from an epoch number to a human readable format use the localtime function. You can control the format of this date easier using the POSIX::strftime function.

If you have an epoch date and you want to add or substract a certain period, then you simple convert to the appropriate number of seconds. e.g. to add two weeks to an epoch number, use code like:

$epoch += 2 * 7 * 86_400; # 86,400 seconds in a day

And finally, people have been plugging modules like Date::Manip, Date::Format and Date::Calc. In my opinion, these have all recently been obsoleted by the release of Matt Sergeant's very wonderful Time::Piece module.

--
<http://www.dave.org.uk>

"The first rule of Perl club is you don't talk about Perl club."