Adam Worrall > Net-Analysis > Net::Analysis::Time

Download:
Net-Analysis-0.40.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  1
View Bugs
Report a bug
Module Version: 0.01   Source  

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.