Добавьте 23 часа 59 минут в качестве метки времени Unix в PHP - PullRequest
0 голосов
/ 15 ноября 2018

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

Мой код в настоящее время говорит, что есть

if (isset($_POST['startdate'])) {
    $startdate = DatePickerToTime($_POST['startdate']);
} else { 
    $startdate = strtotime('today midnight');
}

и

if (isset($_POST['enddate'])) { 
    $enddate = DatePickerToTime($_POST['enddate']);
} else { 
    $enddate = time();
}

, который работает.

Однако я хочу сказать, что если startdate равно enddate, то добавьте 23 часа и 59 минут к enddate

Я прочиталдокументацию и пытаюсь

if($_POST['$startdate'] == $_POST['$enddate']) {
    $_POST['$enddate'] += date("h:i:sa", "23:59:59");
}

но это не работает.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018
$datetime1 = date('2009-10-11 12:30:00');
$datetime2 = date('2009-10-11 12:30:00');
echo "<pre>";
if($datetime1 == $datetime2){
    echo "yes";
    echo "<br>";
    $datetime2 = date("Y-m-d H:i:s", strtotime("+23 hours 59 minutes",strtotime($datetime2)));
    echo $datetime1."===================".$datetime2;
}
else {
    echo "NO<br>";
    echo $datetime1."===================".$datetime2;
}
0 голосов
/ 15 ноября 2018

Штампы Unix отсчитываются в секундах. Вы можете добавить 86340 секунд 1 к дате окончания.

$_POST['$enddate'] += 86340; // add 23h 59m

Однако, как отмечается в комментариях, обработка даты и времени всегда должна обрабатываться собственной логикой даты и времени, чтобы предотвратить очень очень странные и специфические случаи .

Я настоятельно рекомендую вам использовать PHP DateTime и DateInterval для добавления времени.

$date = new DateTime();
$date->setTimestamp($_POST['enddate']);
$date->add(new DateInterval('PT23H59M')); // add 23 hours and 59 minutes

$_POST['$enddate'] = $date->getTimestamp();

1 86340 секунд равен 23 часам и 59 минутам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...