Ricardo SIGNES 😄

NAME

Time::Duration::Object - Time::Duration, but an object

VERSION

version 0.301

SYNOPSIS

 use Time::Duration::Object;

 my $duration = Time::Duration::Object->new($end_time - $start_time);

DESCRIPTION

This module provides an object-oriented interface to Time::Duration. Sure, it's overkill, and Time::Duration is plenty useful without OO, but this interface makes it easy to use Time::Duration with Class::DBI, and that's a good thing.

METHODS

new($seconds)

This returns a new Time::Duration::Object for the given number of seconds.

seconds

This returns the number of seconds in the duration (i.e., the argument you passed to your call to new.)

duration

duration_exact

ago

ago_exact

from_now

from_now_exact

later

later_exact

earlier

earlier_exact

These methods all perform the function of the same name from Time::Duration.

as_string

Time::Duration::Object methods don't return strings, they return an object that stringifies. If you can't deal with that and don't want to stringify by concatenating an empty string, you can call as_string instead.

 my $duration = Time::Duration::Object->new(8000);
 print $duration->ago->as_string; # 2 hours and 13 minutes ago

concise

This method can be called on the result of the above methods, trimming down the ouput. For example:

 my $duration = Time::Duration::Object->new(8000);
 print $duration->ago; # 2 hours and 13 minutes ago
 print $duration->ago->concise # 2hr13m ago

SEE ALSO

Obviously, this module would be useless without Sean Burke's super-useful Time::Duration. There are those, I'm sure, who will think that even with that module...

AUTHOR

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2004 by Ricardo SIGNES.

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