Быстро добираясь до YYYY-mm-dd HH:MM:SS в Perl

Если это является 2-м, то все строки находятся на единственной плоскости.

Так, это - базовая 3-D геометрия. Необходимо быть в состоянии сделать это с простым уравнением.

Выезд эта страница:

http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/ .

второе решение должно быть легко реализовать, пока Вы переводите координаты своего прямоугольника в уравнение плоскости.

, Кроме того, проверьте, что Ваш знаменатель не является нулем (строка не пересекается или содержится в плоскости).

65
задан knorv 29 November 2009 в 02:10
поделиться

2 ответа

Используйте 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 .

73
ответ дан 24 November 2019 в 15:17
поделиться

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;
32
ответ дан 24 November 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: