datetime — Как мне запросить ввод с помощью PHP-CLI и сделать его доступным как переменную?

Я ищу небольшой инструмент PHP-CLI, который сообщит мне, является ли дата, которую я ввожу, выходным днем. В настоящее время у меня есть следующий скрипт, который достигает некоторых из этой цели:

<?php
function isWeekend($date) {
return (date('N', strtotime($date)) >= 6);
}
var_dump(isWeekend('2014-10-29'));
?>

В настоящее время он работает хорошо (выводит true или false), но я должен обновлять источник каждый раз, когда хочу проверить дату. Было бы проще, если бы я мог запрашивать дату (ввод пользователя), а затем использовать этот ввод для вычисления даты, желательно без использования элементов HTML, поскольку в настоящее время я запускаю скрипт через CLI.

Кому-нибудь еще удалось добиться того, что я искал? Мне не нужна проверка, так как это инструмент, который я буду использовать только, и я буду использовать правильную структуру даты каждый раз, когда я ее использую.

1

Решение

Вы можете попробовать с:

<?php
fwrite(STDOUT, "Enter the date\n");
$date = fgets(STDIN);
$isWeekend = (date('N', strtotime($date)) >= 6);
fwrite(STDOUT, "Response: $isWeekend");
exit(0);
?>

Вот что я получаю:

C:\xampp\php>php test.php
Enter the date
2014-11-30
Response: 1
C:\xampp\php>php test.php
Enter the date
2014-12-01
Response:
C:\xampp\php>
2

Другие решения

при запуске из команды propmpt

php scriptname.php 2014-10-29 secondarg

пользовательский ввод будет содержаться в

$argv[1]

$argv[2] //secondarg etc

конечно,

strtotime($argv[1]);

вернет false при неудаче

3