Я пытаюсь вычислить дату/время в течение семи дней и четырех часов в будущем с введенной даты и распечатать его в удобном для восприятия формате.Расчет даты в Perl
у меня есть:
print "Enter a date YYYY MM DD. Remember perl's months go from 0-11.\n";
while (@dateEnt < 1) {
my $dateEntered = <STDIN>;
chomp $dateEntered;
push @dateEnt, $dateEntered;
(@datedata) = split (/\s+/, $dateEntered);
$year= $datedata[0];
$month = $datedata[1];
$day = $datedata[2];
}
$time = time;
$readabletime = localtime($time);
use Time::Local;
$timeEntUseable = timelocal(00, 00, 00, $day, $month, $year);
$laterdate = localtime($timeEntUseable + (60 * 60 * 4 * 24));
print "The time 7 days and 4 hours from the time entered is $laterdate\n";
Когда я вхожу 2015 00 01 (1 января 2015) в первый вопрос мой результат 2 января 2015 в 4:00:00. Ответ должен быть 7 января 2015 года в 4:00:00. Любая помощь?
Есть ли причина использовать 'eval' здесь? Можем ли мы не называть 'Time :: Pice-> strptime' напрямую? – srvsh
@skmrx: Он обрабатывает неправильный ввод, например «сегодня», «qwerty» и т. Д. – choroba
Спасибо, это приятно! – srvsh