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

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

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.

This module does not export anything by default. You have to specify import parameters. :all key does not include import commands.
elapsed
:all
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.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.
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.
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.

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.
%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.
PTools::Time::Elapsed, DateTime, DateTime::Format::Duration, Time::Duration.