Say the current datetime is 17:46:12, I got the time by using localtime(), i want to add 1 hr 30 minutes 55 seconds.
Is there a function in perl to archieve that?
###### Who is Participating?

Commented:
You can do this either by converting your time to seconds and adding the seconds to time's output. Such as:

my \$future = "1:30:55";
my (\$hours, \$minutes, \$seconds) = split(/:/, \$future);

\$hours *= 60 * 60;
\$minutes *= 60;
\$seconds += \$hours + \$minutes;

print scalar(localtime(time + \$seconds));

Or there are also some modules available to do this for you. Notably there's Date::Manip:

You can do this either by converting your time to seconds and adding the seconds to time's output. Such as:

my \$future = "1:30:55";
my (\$hours, \$minutes, \$seconds) = split(/:/, \$future);

\$hours *= 60 * 60;
\$minutes *= 60;
\$seconds += \$hours + \$minutes;

print +(localtime(time + \$seconds));

Or there are also some modules available to do this for you. Notably there's Date::Manip:

#!/usr/bin/perl

use warnings;
use strict;
use Date::Manip;

my \$delta = "1:30:55";
my \$date = DateCalc("now", "+ 1hour 30minutes 55seconds");

print \$date;

Hope this helps.
0

Commented:
Calculating with Epoch seconds is easiest, disregarding the effort to get dates and times into and out of Epoch seconds. This code shows how to calculate an offset (55 days, 2 hours, 17 minutes, and 5 seconds, in this case) from a given base date and time:

\$birthtime = 96176750;                  # 18/Jan/1973, 3:45:50 am
\$interval = 5 +                         # 5 seconds
17 * 60 +                   # 17 minutes
2  * 60 * 60 +              # 2 hours
55 * 60 * 60 * 24;          # and 55 days
\$then = \$birthtime + \$interval;
print "Then is ", scalar(localtime(\$then)), "\n";
Then is Wed Mar 14 06:02:55 1973

Jay
0

Commented:
Note that the author of Date::Manip himself indicates that it's a big, slow, pure perl module and may not be suitable to all tasks. There are a number of other date manipulation modules on CPAN, but Date::Manip is the most full featured and easy to use.

YMMV
0

Commented:
It's no longer true that Date::Manip is the most fully featured date manipulation module on CPAN. The Perl Date/Time Project (http://datetime.perl.org/) have created a set of useful modules which you should be looking at for all of your date manipulation needs.

Dave...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.