NAME
DateTime::Duration::Fuzzy -- express dates as fuzzy human-friendly strings
SYNOPSIS
use DateTime::Duration::Fuzzy qw(time_ago);
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,
);
print time_ago($then, $now);
# outputs 'several hours ago'
print 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.