Skip to content

Instantly share code, notes, and snippets.

@mackee
Created March 19, 2013 16:43
Show Gist options
  • Save mackee/5197747 to your computer and use it in GitHub Desktop.
Save mackee/5197747 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
use Benchmark qw/:all/;
use DateTime;
use DateTime::Tiny;
use Time::Piece;
say 'Create DATETIME object:';
cmpthese 0, {
'DateTime' => sub {
my $dt = DateTime->now();
},
'DateTime::Tiny' => sub {
my $dt = DateTime::Tiny->now();
},
'Time::Piece' => sub {
my $dt = Time::Piece->new();
}
};
say 'Create DATETIME object from string like ISO 8601:';
use DateTime::Format::Strptime;
my $datetime_str = "2013-03-01T12:00:00";
my $pattern = "%Y-%m-%dT%H:%M:%S";
cmpthese 0, {
'DateTime' => sub {
my $f = DateTime::Format::Strptime->new(pattern => $pattern);
my $dt = $f->parse_datetime($datetime_str);
},
'DateTime::Tiny' => sub {
my $dt = DateTime::Tiny->from_string($datetime_str);
},
'Time::Piece' => sub {
my $dt = Time::Piece->strptime($datetime_str, $pattern);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment