NAME

    Date::Period::Human - Human readable date periods

SYNOPSYS

        # Create the Date::Period::Human object
        my $d = Date::Period::Human->new();
    
        # Get a relative human readable date string
        my $s = $d->human_readable('2010-01-01 02:30:42');
    
        # Now $s contains the relative date in human readable form, e.g. "1 year
        # ago", "3 weeks ago", etc.
    
        # Use English instead of the default Dutch
        # my $d = Date::Period::Human->new({ lang => 'en' });

DESCRIPTION

    Creates a string of relative time. This is useful when you're showing
    user created content, where it's nicer to show how long ago the item
    was posted (e.g. "3 weeks ago") instead of the date and time.

    This also solves the problem where you don't know the timezone of the
    user who is viewing the item. This is solved because you show relative
    time instead of absolute time in most cases.

    There is one case that isn't relative.

CLASS METHODS

    This class contains one public class method.

 new [options]

    lang

      The language you want to use. Default 'nl', can be 'en' for English.

    today_and_now

      An arrayref containing [ $year, $month, $day, $hour, $min, $sec ].

      Will be used as the fixed point from which the relative time will be
      calculated.

METHODS

    This class contains one public method.

 $self->human_readable($mysql_date|$datetime|$epoch)

    Parses the $mysql_date and returns a human readable time string.

    Or, $datetime (a DateTime object) and returns a human readable time
    string.

    Or, $epoch (identified by regex /^\d+$/) and passed through gmtime().

HOMEPAGE

    http://github.com/pstuifzand/date-period-human

LICENSE

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

AUTHOR

    Peter Stuifzand <peter@stuifzand.eu>

COPYRIGHT

    Copyright 2010 Peter Stuifzand

