Если это является 2-м, то все строки находятся на единственной плоскости.
Так, это - базовая 3-D геометрия. Необходимо быть в состоянии сделать это с простым уравнением.
Выезд эта страница:
второе решение должно быть легко реализовать, пока Вы переводите координаты своего прямоугольника в уравнение плоскости.
, Кроме того, проверьте, что Ваш знаменатель не является нулем (строка не пересекается или содержится в плоскости).
Используйте strftime
в стандартном модуле POSIX
. Аргументы strftime
в привязке Perl были разработаны для согласования с возвращаемыми значениями из localtime
и gmtime
. Сравните
strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
с
my ($sec,$min,$hour,$mday,$mon,$year,$wday, $yday, $isdst) = gmtime(time);
Пример использования командной строки:
$ perl -MPOSIX -le 'print strftime "%F %T", localtime $^T'
или из исходного файла, как в
use POSIX;
print strftime "%F %T", localtime time;
Некоторые системы не поддерживают % F
и % T
сокращенные, поэтому вам придется указывать явно с
print strftime "%Y-%m-%d %H:%M:%S", localtime time;
или
print strftime "%Y-%m-%d %H:%M:%S", gmtime time;
. Обратите внимание, что time
возвращает текущее время при вызове, тогда как $ ^ T
фиксируется на времени, когда ваша программа начал. С gmtime
возвращаемое значение - текущее время в GMT. Получение времени в вашем часовом поясе с помощью localtime
.
What not use the DateTime
module to do the dirty work for you? It's easy to write and remember!
use strict;
use warnings;
use DateTime;
my $dt = DateTime->now; # Stores current date and time as datetime object
my $date = $dt->ymd; # Retrieves date as a string in 'yyyy-mm-dd' format
my $time = $dt->hms; # Retrieves time as a string in 'hh:mm:ss' format
my $wanted = "$date $time"; # creates 'yyyy-mm-dd hh:mm:ss' string
print $wanted;
Once you know what's going on, you can get rid of the temps and save a few lines of code:
use strict;
use warnings;
use DateTime;
my $dt = DateTime->now;
print join ' ', $dt->ymd, $dt->hms;