Panda::Date 

use Panda::Date;

my $pd = Panda::Date->new({
    year       => 2015,
    month      => 2,
    day        => 10,
    hour       => 18,
    min        => 32,
    sec        => 0,
});

say "$pd";                         # 2015-02-10 18:32:00
say $pd->strftime("%A, %b %d %Y"); # Tuesday, Feb 10 2015
say $pd->day;                      # 10
say $pd->_wday;                    # 2   (wday gives 3!)
say $pd->add({month => 1});        # 2015-03-10 18:32:00