NAME
Net::Analysis::Time - value object for [tv_sec, tv_usec] times
SYNOPSIS
use Net::Analysis::Time;
my $t1 = Net::Analysis::Time->new(10812345, 123456);
my $t2 = Net::Analysis::Time->new(10812356, 123456);
my $diff = $t2-$t1; # == new Time Object
print "$diff\n"; # == "11.000000"
$t1->round_usec(10000); # "$t1" == "10812345.120000";
DESCRIPTION
Can't believe I've found myself implementing a date/time module. The shame of it.
This is a heavily overloaded object, so '+', '-' do what you expect.
There is some format stuff to change how it stringfies, and some stuff for rounding off values, used elsewhere for time-boxing.
This stuff should probably all be junked as soon as someone wants some efficiency.
new ($sec [, $usec] )
If passed a single floating point arg, does what it can, but don't blame me if rounding errors knacker things up.
Best to pass two ints, one seconds and one microseconds.
round_usec ($usec_step [, $round_up_not_down])
Rounds the time down to the nearest usec_step value. Valid values between 10 and 1000000. A value of 1000000 will round to the nearest second.
Optional argument, if true, causes rounding to go up, not down.
CLASS METHODS
set_format ($format)
Set the default output format for strigification of the date. The parameter is either a strftime(3)
compliant string, or a named format:
raw - 1100257189.123456
time - 10:59:49.123456
full - 2004/11/12 10:59:49.123456
Returns the old format.
EXPORT
None by default.
AUTHOR
Adam B. Worrall, <worrall@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2004 by Adam B. Worrall
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.