The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Perl" / Оглавление документа

Работа со временем

Скорость работы программы можно определить, используя команду time:
bash-2.05$ time ./time.pl

real    0m0.613s
user    0m0.487s
sys     0m0.074s
bash-2.05$
Ниже приведено несколько примеров программ, выводящих текущее время.
&time($time);
print "$time\n";

sub time{
  $time = sprintf("%02d/%02d/%02d b %02d:%02d:%02d", $tm->hour,$tm->min, $tm->sec, $tm->mday, $tm->mon+1, $tm->year+1900);
  return $time;
}
Еще один способ:
#!/usr/bin/perl

my ($wday,$mday,$mon,$year,$time) =
 (split(" ",gmtime(time+10800)))[0,2,1,4,3];

print "$wday, $mday $mon $year $time GMT\n";

print (split("\s",gmtime(time+10800)))->[0,2,1,4,3];
print "\n";
Тест для Григорианского календаря на високосность:
year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)
Время можно вывести и вот так:
@d=split(/[ ]+/, scalar localtime);
печатает:
$d[0]=='Wed'
$d[1]=='Jun'
$d[2]=='5'
$d[3]=='14:59:35'
$d[4]=='2002'
Еще и так:
&Date($time);
print "$time\n";
sub Date {
        ($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $Weekday,
        $DayOfYear, $IsDST) = localtime(time);
        $RealYear = $Year + 1900;
        $Month++;
        if($Month < 10) {$Month = "0" . $Month}
        if($DayOfMonth < 10) {$DayOfMonth = "0" . $DayOfMonth}
        if($Hour < 10) {$Hour = "0" . $Hour}
        if($Minute < 10) {$Minute = "0" . $Minute}
        if($Second < 10) {$Second = "0" . $Second}
        $date = "$DayOfMonth-$Month-$RealYear";
        $approval_date = "$RealYear|$Month|$DayOfMonth";
        $time = "$Hour:$Minute:$Second";
}
И так:
#!/usr/bin/perl
use POSIX qw();
my $time = POSIX::strftime "%H:%M:%S", localtime time;
print "$time\n";
Если возникла необходимость локализовать время в соответствии с часовым поясом, то
#!/usr/bin/perl
use POSIX qw();
my $time = POSIX::strftime "%H:%M:%S", localtime(time+3*3600);
print "$time\n";
Спасибо: S.Nitsulenko, Vladimir Podgorny, Artem Chuprina, Dmitry Koteroff (from fido7.ru.perl)

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру
Hosting by Ihor