Как Вы читаете системное время и дату в Perl?

Я исправил это, и теперь оно намного быстрее. Это был метод skipSpace ().

func skipSpace () {
for _ in  spaceCount...textView.text.count {
    if checkSpace() == false {
        nextChar()
    }
}

Когда я набираю много текста, этот диапазон цикла становится огромным (spaceCount ... textView.text.count), потому что он получает количество символов в textView, поэтому его просто нужно было изменить на фиксированное число, например: (spaceCount ... 50), и все!

Спасибо

11
задан Bill the Lizard 22 January 2010 в 20:20
поделиться

5 ответов

Использование localtime функция:

В скалярном контексте, localtime () возвращает ctime (3) значение:

$now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994"
19
ответ дан 3 December 2019 в 01:00
поделиться

Можно использовать localtime для получения времени и модуль POSIX strftime отформатировать его.

В то время как было бы хорошо использовать Дату:: Формат и его strftime, потому что это использует меньше служебное, модуль POSIX, распределяются с Perl и, как таким образом в значительной степени гарантируют, будут в данной системе.

use POSIX;
print POSIX::strftime( "%A, %B %d, %Y", localtime());
# Should print something like Wednesday, January 28, 2009
# ...if you're using an English locale, that is.
# Note that this and Date::Format's strftime are pretty much identical
14
ответ дан 3 December 2019 в 01:00
поделиться

Как кто-то еще упомянутый, можно использовать localtime, но я проанализировал бы его с Датой:: Формат. Это даст Вам метку времени, отформатированную в значительной степени любым способом, которым Вам нужен он.

8
ответ дан 3 December 2019 в 01:00
поделиться

Поскольку все остальные сказали, что "localtime" - то, как Вы приручаете дату легким и прямым способом.

Но только дать Вам еще одну опцию. Модуль DateTime. Этот модуль стал немного моим фаворитом.

use DateTime;
my $dt = DateTime->now;

my $dow = $dt->day_name;
my $dom = $dt->mday;
my $month = $dt->month_abbr;
my $chr_era = $dt->year_with_christian_era;

print "Today is $dow, $month $dom $chr_era\n";

Это распечатало бы, "Сегодня среда, Jan 28 2009AD". Только для показа нескольких из многих вещей это может сделать.

use DateTime;
print DateTime->now->ymd;

Это распечатывает "2009-01-28"

8
ответ дан 3 December 2019 в 01:00
поделиться

Самый простой оператор печати остроты для печати localtime в ясном, читаемом формате:

print scalar localtime (); #Output: Fri Nov 22 14:25:58 2019
0
ответ дан 3 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

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