DateTime::Format::Epoch::ActiveDirectory(3) Active Directory epoch seconds


use DateTime::Format::Epoch::ActiveDirectory;
my $dt = DateTime::Format::Epoch::ActiveDirectory
->parse_datetime( 1051488000 );
# 1051488000
my $formatter = DateTime::Format::Epoch::ActiveDirectory->new();
my $dt2 = $formatter->parse_datetime( 1051488000 );


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 epoch used in Microsoft Active Directory.

Note that this 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);


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 for this module is provided via the [email protected] email list. See for more details.


Eugene van der Pijll <[email protected]>


Copyright (c) 2004 Eugene van der Pijll. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.