Time::Elapsed(3)

NAME
Time::Elapsed

VERSION
version 0.33

SYNOPSIS
   use Time::Elapsed qw( elapsed );
   $t = 1868401;
   print elapsed( $t );

prints:

   21 days, 15 hours and 1 second

If you set the language to turkish:

   print elapsed( $t, 'TR' );

prints:

   21 gün, 15 saat ve 1 saniye

DESCRIPTION
This module transforms the elapsed seconds into a human readable string. It can be used for (for example) rendering "uptime" values into a human readable form. The resulting string will be an approximation. See the "CAVEATS" section for more information.

NAME
Time::Elapsed - Displays the elapsed time as a human readable string.

IMPORT PARAMETERS
This module does not export anything by default. You have to specify import parameters. ":all" key does not include "import commands".

  FUNCTIONS
   elapsed

  KEYS
   :all

  COMMANDS
   Parameter   Description
   ---------   -----------
   -compile    All available language data will immediately be compiled
               and placed into an internal cache.

FUNCTIONS

  elapsed SECONDS [, OPTIONS ]

•   "SECONDS" must be a number representing the elapsed seconds. If it is false, 0 (zero) will be used. If it is not defined, "undef" will be returned.

•   The optional argument "OPTIONS" is a either a string containing the language id or a hashref containing several options. These two codes are equal:

       elapsed $secs, 'DE';
       elapsed $secs, { lang => 'DE' };

    The hashref is used to pass extra options.

OPTIONS

lang

The optional argument language id, represents the language to use when converting the data to a string. The language section is really a standalone module in the "Time::Elapsed::Lang::" namespace, so it is possible to extend the language support on your own. Currently supported languages are:

   Parameter  Description
   ---------  -----------------
      EN      English (default)
      TR      Turkish
      DE      German

Language ids are case-insensitive. These are all same: "en", "EN", "eN".

weeks

If this option is present and set to a treu value, then you'll get "weeks" instead of "days" in the output if the output has a days value between 7 days and 28 days.

CAVEATS

•   The calculation of the elapsed time is only an approximation, since these values are used internally:

       1 Day   =  24 Hour
       1 Month =  30 Day
       1 Year  = 365 Day

    See "How Datetime Math is Done" in DateTime for more information on this subject. Also see in_units() method in DateTime::Duration.

•   This module' s source file is UTF-8 encoded (without a BOM) and it returns UTF-8 values whenever possible.

•   Currently, the module won't work with any perls older than 5.6 because of the UTF-8 encoding and the usage of utf8 pragma. However, the pragma limitation can be by-passed with a %INC trick under 5.005_04 (tested) and can be used with english language (default behavior), but any other language will probably need unicode support.

SEE ALSO
PTools::Time::Elapsed, DateTime, DateTime::Format::Duration, Time::Duration.

AUTHOR
Burak Gursoy <burak@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2007 by Burak Gursoy.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.