Дата PHP и дата POSIX

У меня есть две даты (из выбора времени данных), которые я отправляю с помощью поста в PHP на эту же страницу (я использую скрытый <input> в форме).

$(function(){
flatpickr('#calendar',{
mode: "range",
onChange: function(dates) {
if(dates.length>1){
$("#formdate .from").val(+dates[0]/1000);
$("#formdate .to").val((+dates[1])/1000);
$("#formdate").submit();
}
}
});
});

Эти даты являются датой POSIX, например 1490569200 является 2017-03-27 00:00:00,

Вы можете видеть, что я делю их на 1000; это потому, что я использую их в MySQL, поэтому он должен быть в second и не в millisecond,

Вот мой сборщик даты и времени:

введите описание изображения здесь

Когда я проверяю эту вторую дату (здесь 26-е), она вызывает вышеуказанную функцию и обновляет страницу. Если я повторяю свидание с POSIX, я получаю следующее:

1488326400, 1490486400 это соответственно 1 и 26 марта (нормальное поведение). Теперь я использую следующую функцию в PHP для преобразования их в читаемый формат:

echo date('l jS \of F Y',$from);
echo date('l jS \of F Y',$to);

Это показывает мне следующее:

Wednesday 1st of March 2017
Sunday 26th of March 2017

Так что пока здесь все отлично работает!

Но теперь, если я выберу дату, равную или выше 27 марта, вот что случилось:

введите описание изображения здесь

Я повторяю мои даты в POSIX:
1490313600, 1490655600 это соответственно 24-е и 28-е (так что никаких проблем).

Но когда я использую дату PHP для читаемого формата:

echo date('l jS \of F Y',$from);
echo date('l jS \of F Y',$to);

Friday 24th of March 2017
Monday 27th of March 2017

Действительно, все даты, которые я выберу равными или выше 27-го числа, будут отображаться как день раньше.

Если я использую echo date('l jS \of F Y',1490655600), тот же вопрос, он даст мне 27-го и не 28-го.

В чем дело ?

0

Решение

Как сказано в комментарии, это было связано с зимним / летним временем.

0

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

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

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