Revision 8 (by ahitrov@rambler.ru, 2010/03/29 11:46:38) |
Contenido UTF-8 core files
|
% if( $showdate ) {
<% $sdate %>\
% }
% if( $showdate && $showtime ) {
, \
% }
% if( $showtime ) {
<% $stime %>\
% }
<%args>
$datetime => undef
$showyear => 1
$showdate => 1
$showtime => 0
$digital => 0
</%args>
<%doc>
Принимает дату в формате yyyy-mm-dd[ mm:ss], или в виде числа секунд с начала компьютерной эры.
Показывает ее в виде
dd название_месяца yyyy [hh:mm[:ss]]
или в виде
dd.mm.yyyy [hh:mm[:ss]]
если задан параметр digital = 1
Также в возвращаемой строке может отсутствовать год,
если параметр $showyear = undef.
Если параметр $showdate = undef, то значение параметра $showyear не имеет значение
</%doc>
<%init>
my ($y, $mon, $d, $hr, $mn);
if ($datetime)
{
$datetime =~ /(\d{4})-0?(\d{1,2})-0?(\d{1,2})\s*(\d{0,2}):*(\d{0,2})/;
($y, $mon, $d, $hr, $mn) = ($1, $2, $3, $4, $5);
}
else
{
($mn, $hr, $d, $mon, $y) = (localtime())[1 .. 5];
$mon++; $y += 1900;
}
my $stime = sprintf( "%2.2d:%2.2d", $hr, $mn );
my $smon = (qw(января февраля марта апреля мая июня июля августа сентября октября ноября декабря))[$mon-1];
my $sdate = ($digital ? sprintf( "%2.2d.%2.2d", $d, $mon ) : sprintf( "%2.2d %s", $d, $smon ) );
if( $showyear )
{
$sdate .= ($digital ? '.' : ' ').$y;
}
</%init>