суббота, 16 октября 2010 г.

Недостающая часть Time::Piece

Единственной вещи, которой мне действительно не хватает в Time::Piece — это truncate, по типу того, что есть в DateTime. Сделал monkey patch, который добавляет этот функционал. Написал в wishlist, жду реакции…

#!/usr/bin/perl
use strict;
use warnings;

use Time::Piece;

local *Time::Piece::truncate;
*Time::Piece::truncate = sub {
package Time::Piece;
my ($time, $to) = @_;
my @t = (0, 0, 0, 1, 0);
return $time->_mktime([@t[0..$to-1], @$time[$to..c_isdst]], $time->[c_islocal]);
};

my $now = Time::Piece->gmtime;
my $midnight = $now->truncate(Time::Piece::c_mday);
print $midnight, "\n";

1 comments: