Time::Elapsed
version 0.33
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' );
21 gün, 15 saat ve 1 saniye
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.
uptime
Time::Elapsed - Displays the elapsed time as a human readable string.
This module does not export anything by default. You have to specify import parameters. :all key does not include import commands.
:all
import commands
elapsed
Parameter Description --------- ----------- -compile All available language data will immediately be compiled and placed into an internal cache.
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.
SECONDS
0
undef
The optional argument OPTIONS is a either a string containing the language id or a hashref containing several options. These two codes are equal:
OPTIONS
elapsed $secs, 'DE'; elapsed $secs, { lang => 'DE' };
The hashref is used to pass extra options.
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:
Time::Elapsed::Lang::
Parameter Description --------- ----------------- EN English (default) TR Turkish DE German
Language ids are case-insensitive. These are all same: en, EN, eN.
en
EN
eN
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.
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.
in_units()
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.
%INC
PTools::Time::Elapsed, DateTime, DateTime::Format::Duration, Time::Duration.
Burak Gursoy <burak@cpan.org>
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.
To install Time::Elapsed, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Time::Elapsed
CPAN shell
perl -MCPAN -e shell install Time::Elapsed
For more information on module installation, please visit the detailed CPAN module installation guide.