NAME
DateTime::Duration::Fuzzy -- express dates as fuzzy human-friendly strings
SYNOPSIS
use
DateTime;
my
$now
= DateTime->new(
year
=> 2010,
month
=> 12,
day
=> 12,
hour
=> 19,
minute
=> 59,
);
my
$then
= DateTime->new(
year
=> 2010,
month
=> 12,
day
=> 12,
hour
=> 15,
);
time_ago(
$then
,
$now
);
# outputs 'several hours ago'
time_ago(
$then
);
# $now taken from C<time> function
DESCRIPTION
DateTime::Duration::Fuzzy is inspired from the timeAgo jQuery module http://timeago.yarp.com/.
It takes two DateTime objects -- first one representing a moment in the past and second optional one representine the present, and returns a human-friendly fuzzy expression of the time gone.
functions
- time_ago($then, $now)
-
The only exportable function.
First obligatory parameter is a DateTime object.
Second optional parameter is also a DateTime object. If it's not provided, then now as the
time
function returns is substituted.Returns a string expression of the interval between the two DateTime objects, like
several hours ago
,yesterday
or <last century>.
performance
On 64bit machines, it is asvisable to 'use integer', which makes the calculations faster. You can turn this on by setting the ARCH_64BIT
environmental variable to a true value.
If you do this on a 32bit machine, you will get wrong results for intervals starting with "several decades ago".
AUTHOR
Jan Oldrich Kruza, <sixtease at cpan.org>
LICENSE AND COPYRIGHT
Copyright 2010 Jan Oldrich Kruza.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.