Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# Time culculation

Posted on 2002-06-01
Medium Priority
277 Views
Last Modified: 2010-08-05
Are there simple way to calculate number days passed after certain date.
E.g. after May 11 1955
0
Question by:desktop2
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions
• 3
• 3
7 Comments

LVL 10

Expert Comment

ID: 7049308
#!/usr/bin/perl
use Date::Calc qw( Date_to_Days );
(\$sec,\$min,\$hour,\$mday,\$mon,\$year,\$wday,\$yday,\$isdst) = localtime(time);
print "Days: ",Date_to_Days(\$year+1900,\$mon,\$mday) - Date_to_Days(1955,5,11);

0

LVL 10

Expert Comment

ID: 7049310
There should be a "+1" on the month

#!/usr/bin/perl
use Date::Calc qw( Date_to_Days );
(\$sec,\$min,\$hour,\$mday,\$mon,\$year,\$wday,\$yday,\$isdst) = localtime(time);
print "Days: ",Date_to_Days(\$year+1900,\$mon+1,\$mday) - Date_to_Days(1955,5,11);

0

Author Comment

ID: 7049476
Got an error :-(

Can't locate Date/Calc.pm in @INC (@INC contains: /usr/lib/perl5/i386-linux/5.00405 /usr/lib/perl5 /usr/lib/perl5/site_perl/i386-linux /usr/lib/perl5/site_perl .)
0

LVL 10

Expert Comment

ID: 7049581
Download and install the module Date::Calc

http://www.cpan.org/authors/id/STBEY/Date-Calc-5.0.tar.gz

Check this link for info if you don't know to install module from CPAN

http://www.perldoc.com/perl5.6.1/pod/perlfaq8.html#How-do-I-install-a-module-from-CPAN-
0

Author Comment

ID: 7052439
I have a problem to install the module since this script is running on remote service where I do not have access. Is it possible to do it without additional module?
0

LVL 84

Accepted Solution

ozo earned 400 total points
ID: 7053386
sub jd {
use integer;
my(\$y,\$m,\$d) = @_;
return ( 1461 * ( \$y + 4800 + ( \$m - 14 ) / 12 ) ) / 4 +
( 367 * (\$m - 2 - 12 * ( ( \$m - 14 ) / 12 ) ) ) / 12 -
( 3 * ( ( \$y + 4900 + ( \$m - 14 ) / 12 ) / 100 ) ) / 4 +
\$d - 32075;
}
my (\$m,\$d,\$y) = (\${{Jan=>1,Feb=>2,Mar=>3,Apr=>4,May=>5,Jun=>6,Jul=>7,Aug=>8,Sep=>9,Oct=>10,Nov=>11,Dec=>12}}{May},11,1955);
my \$jd0 = jd(\$y,\$m,\$d);
(\$y,\$m,\$d) = (localtime)[5,4,3];
my \$jd1 = jd(1900+\$y,1+\$m,\$d);
print \$jd1-\$jd0,"\n";
0

Author Comment

ID: 7060915
It is working
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08â€¦
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: Tâ€¦
Six Sigma Control Plans
###### Suggested Courses
Course of the Month7 days, 15 hours left to enroll

#### 715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.