дата — диапазон проверки php в диапазоне

Я пытаюсь проверить, находится ли диапазон дат (преобразованный в метку времени Unix) в пределах сохраненного диапазона дат. Цель состоит в том, чтобы увидеть, не противоречит ли подписка на продукт или корзина покупателя только что выбранному товару.

Я могу проверить «дату» в диапазоне дат, но не показать, как приблизиться к проверке диапазона в диапазоне. ??

Например, следующий код скажет, находится ли введенная дата в диапазоне дат тестирования:

<?php
$startDate = strtotime("10/12/2014");
$endDate = strtotime("10/25/2014");
?><?php
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$targetDate = strtotime($_POST['testDate']);if (($targetDate >= $startDate) && ($targetDate <= $endDate)) {
$showMe = 'trueness';
}
else {
$showMe = 'false';
}
}
?>

<form name="form1" method="post" action="">
<input type="text" id="testDate" name="testDate" value="<?php echo date("m-d-Y", $targetDate); ?>">
<input type="submit" name="submit" id="submit" value="Submit"><?php echo date("m-d-Y", $targetDate); ?>
</form><p><?php echo 'Result: '. $showMe; ?></p>

По сути, мы можем проверить дату, чтобы увидеть, находится ли она в диапазоне дат, но как проверить, пересекаются ли два отдельных диапазона дат?

0

Решение

Если у вас есть два набора диапазонов дат (от $ startDate до $ endDate и от $ targetStartDate до $ targetEndDate), это как проверить пересечение …

    if ($targetEndDate >= $startDate && $targetStartDate <= $endDate)
{
$showMe = 'trueness';
}
else
{
$showMe = 'false';
}

Вы можете настроить> = и <= если есть особый случай, когда вы не считаете, что он пересекается, если они пересекаются только в дату начала / окончания.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]