Найти дату, ближайшую к конкретной дате

Вы можете использовать libdatetime-format-flexible-perl.

#!/usr/bin/perl
use DateTime::Format::Flexible;
my $date_str = "So 22 Dez 2013 07:29:35 CET";
$parser = DateTime::Format::Flexible->new;
my $date = $parser->parse_datetime($date_str);
print $date

Выход по умолчанию будет 2013-12-22T07:29:35, но поскольку $date не является регулярной строкой, а объектом, вы можете сделать что-то вроде этого:

printf '%02d.%02d.%d', $date->day, $date->month, $date->year;

Также поведение date, вероятно, следует рассматривать как ошибку. Я так думаю, потому что дата в том же формате, но по-русски правильно разбирается.

$ export LC_TIME=ru_RU.UTF-8
$ NOW="$(date "+%c")"
$ date --date="$NOW" '+%d.%m.%Y'
22.12.2013

-9
задан Jaap 22 December 2017 в 09:51
поделиться