DateTime::Format::Epoch::MacOS - Convert DateTimes to/from Mac OS epoch seconds


DateTime-Format-Epoch documentation Contained in the DateTime-Format-Epoch distribution.

Index


Code Index:

NAME

Top

DateTime::Format::Epoch::MacOS - Convert DateTimes to/from Mac OS epoch seconds

SYNOPSIS

Top

  use DateTime::Format::Epoch::MacOS;

  my $dt = DateTime::Format::Epoch::MacOS->parse_datetime( 1051488000 );
  DateTime::Format::Epoch::MacOS->format_datetime($dt);
   # 1051488000

  my $formatter = DateTime::Format::Epoch::MacOS->new();

  my $dt2 = $formatter->parse_datetime( 1051488000 );

  $formatter->format_datetime($dt2);
   # 1051488000

DESCRIPTION

Top

This module can convert a DateTime object (or any object that can be converted to a DateTime object) to the number of seconds since the Mac OS epoch.

Note that the Mac OS epoch is defined in the local time zone. This means that these two pieces of code will print the same number of seconds, even though they represent two datetimes 6 hours apart:

    $dt = DateTime->new( year => 2003, month => 5, day => 2,
                         time_zone => 'Europe/Amsterdam' );
    print $formatter->format_datetime($dt);

    $dt = DateTime->new( year => 2003, month => 5, day => 2,
                         time_zone => 'America/Chicago' );
    print $formatter->format_datetime($dt);

Mac OS X is a Unix system, and uses the Unix epoch (1970-01-01T00:00:00). Use DateTime::Format::Epoch::Unix instead.

METHODS

Top

Most of the methods are the same as those in DateTime::Format::Epoch. The only difference is the constructor.

* new()

Constructor of the formatter/parser object. It has no parameters.

SUPPORT

Top

Support for this module is provided via the datetime@perl.org email list. See http://lists.perl.org/ for more details.

AUTHOR

Top

Eugene van der Pijll <pijll@gmx.net>

COPYRIGHT

Top

SEE ALSO

Top

DateTime

datetime@perl.org mailing list


DateTime-Format-Epoch documentation Contained in the DateTime-Format-Epoch distribution.

package DateTime::Format::Epoch::MacOS;

use strict;

use vars qw($VERSION @ISA);

$VERSION = '0.13';

use DateTime;
use DateTime::Format::Epoch;

@ISA = qw/DateTime::Format::Epoch/;

my $epoch = DateTime->new( year => 1904, month => 1, day => 1,
                           time_zone => 'floating' );

sub new {
	my $class = shift;

    return $class->SUPER::new( epoch => $epoch,
                               unit  => 'seconds',
                               type  => 'int',
                               local_epoch => 1,
                               skip_leap_seconds => 1 );
}

1;
__END__