NAME

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

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.

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 [, LANG ]

  • 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 LANG 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.

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 perl 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 Gürsoy, <burak@cpan.org>

COPYRIGHT

Copyright 2007 Burak Gürsoy. All rights reserved.

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.