how to get tomorrow date using Date::CALC

B

Bob

want to take a date and return tomorrow's date..
How to convert $tomorrow back to YY-MM-DD format?
What is the inverse of Date_to_Days ?


... perl2.pl ---------------------------
use strict; use warnings; use Date::Calc qw:)all);

my ($yr2, $mon2, $day2, $tomorrow); my ($year, $month, $day);
$yr2 = 2005; $mon2 = 3; $day2 = 20;

print (" date- year: $yr2 month: $mon2 day:$day2 \n");
$tomorrow = Date_to_Days($yr2,$mon2,$day2) + 1;
print ("tomorrow: $tomorrow \n");

($year,$month,$day) = Today([$tomorrow]);
print ("tommorow- year: $year month: $month day:$day \n");
------------------------------------------------------------------

output ------------------------------------
D:\edu\lrn\perl\date>perl date2.pl
date- year: 2005 month: 3 day:20
tomorrow: 732026
tommorow- year: 2005 month: 9 day:1
 
P

Paul Lalli

Bob said:
want to take a date and return tomorrow's date..
How to convert $tomorrow back to YY-MM-DD format?
What is the inverse of Date_to_Days ?

Did you even *try* to look for this answer on your own? Say, in the
documentation for the function you're using, of the module you're
using?

Straight out of perldoc Date::Calc's Date_to_Days() section :
In order to convert the number returned by this function back into a
date, use the function "Add_Delta_Days()" (described further below), as
follows:

$days = Date_to_Days($year,$month,$day);
($year,$month,$day) = Add_Delta_Days(1,1,1, $days - 1);

Please make an attempt to help yourself before asking hundreds of
people around the world to read documentation to you.
.. perl2.pl ---------------------------
use strict; use warnings; use Date::Calc qw:)all);

my ($yr2, $mon2, $day2, $tomorrow); my ($year, $month, $day);
$yr2 = 2005; $mon2 = 3; $day2 = 20;

GAAAH. What do you have against newlines?
print (" date- year: $yr2 month: $mon2 day:$day2 \n");
$tomorrow = Date_to_Days($yr2,$mon2,$day2) + 1;
print ("tomorrow: $tomorrow \n");

($year,$month,$day) = Today([$tomorrow]);

What made you think the Today() function takes a number of days as an
argument? The docs say:
========================================
# ($year,$month,$day) = Today([$gmt]);

<...>

If the optional (boolean) input parameter "$gmt" is given, a "true"
value ("1") will cause "gmtime()" to be used instead of "localtime()",
internally, thus returning Greenwich Mean Time (GMT, or UTC) instead of
local time.
=======================================

Nothing about this function says that it returns anything other than
*today*'s date.

Paul Lalli
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top