Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Date and time difference

by JavaFan (Canon)
on Nov 17, 2010 at 12:16 UTC ( #871981=note: print w/ replies, xml ) Need Help??


in reply to Date and time difference

Hour 24? That's odd. You sure you don't want 10111700? OTOH, while parts of the world where using 24 hours in a day in the year 10 AD, I'm not quite sure they numbered their hours up to 23 (or rather 24, as 0 wasn't so common then) then.

Anyway, to answer your question, there's no special built in function for that.

But there are a gazillion modules on CPAN dealing with dates and times.


Comment on Re: Date and time difference
Re^2: Date and time difference
by soubalaji (Sexton) on Nov 17, 2010 at 12:25 UTC
    Hours will be like 24 hours.
    yes for 24 hours i want that to be '00' only and the day should be next day.
    currently we don't have right to install any modules from cpan. we can use only input modules in perl.
      currently we don't have right to install any modules from cpan. we can use only input modules in perl.
      That's a (silly) political problem not for us to solve. Besides, you can always copy the code from the module and put it in your code (assuming you have the right to install that - if they're consistent, you shouldn't be allowed to install/run your code, it not being part of "perl").
      Well, if you can't install any CPAN modules, you could use a module that comes bundled with perl, namely POSIX. The below example code shows how to create a calendar time for December 12, 1995, at 10:30 am:

      $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 ); print "Date = ", POSIX::ctime($time_t);

      Presumably you could create 2 calendar times and subtract one from the other using difftime, which will give you the difference in seconds - format as required for display.

      UPDATE (small example):

      use strict; use warnings; use POSIX qw(mktime difftime ctime); my $previous = '10111623'; my $current = '10111705'; my $time1 = mktime( 0, 0, $4, $3, $2 - 1, $1 + 100 ) if $previous =~ m +/(\d\d)(\d\d)(\d\d)(\d\d)/; my $time2 = mktime( 0, 0, $4, $3, $2 - 1, $1 + 100 ) if $current =~ m/ +(\d\d)(\d\d)(\d\d)(\d\d)/; printf("%s - %s = %d seconds\n", ctime($time2), ctime($time1), difftim +e($time2, $time1));

      Output:

      Wed Nov 17 05:00:00 2010 - Tue Nov 16 23:00:00 2010 = 21600 seconds

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://871981]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2014-07-30 07:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (229 votes), past polls