Сообщение от рони
|
seotapki,
onSelect: function(date){
var selectDate = new Date(date);
*!*
selectDate.setTimezoneOffset(-180);//-180 Timezone "из нужного часового пояса"
*/!*
|
Рони, подскажите пожалуйста по преобразованию даты(проблемы)
У меня есть следующее условие:
Оформить доставку на сегодня можно в период времени с 10:00 до 18:00 (если доставка день в день). Если вы делаете заказ сегодня, но оформляете доставку на следующий день, то время можете выбрать любое в период с 10:00 до 21:00.
Я написал такой код:
onSelect: function(date){
var selectDate = new Date(date); // Выбранная дата в календаре, формата: 19.04.2019 17:08
var sdDay = selectDate.getDate(); // Получаем выбранный день недели(число)
var sdHours = selectDate.getHours(); // Получаем выбранное время (часы)
var fromDate = new Date('<?php echo (string)$date; ?> 10:00'); // php возвращает сегодняшнюю дату 05.04.2019, получается строка вида 05.04.2019 10:00
var fdDay = fromDate.getDate(); // Получаем сегодняшний день недели(число)
var fdHours = fromDate.getHours(); // Получаем время (часы) 10:00
var toDate = new Date('<?php echo (string)$date; ?> 18:00'); // php возвращает сегодняшнюю дату 05.04.2019, получается строка вида 05.04.2019 18:00
var tdDay = toDate.getDate(); // Получаем сегодняшний день недели(число)
var tdHours = toDate.getHours(); // Получаем время (часы) 18:00
if (sdDay <= fdDay && sdHours <= fdHours) { // Если выбранное число(день) в календаре <= текущей даты и выбранное время в календаре меньше 10 часов утра, то скрываем возможность выбрать способы доставки
console.log('Скрыть доставку');
} else if(sdDay <= fdDay && sdHours >= tdHours) { // Если выбранное число(день) в календаре <= текущей даты и выбранное время в календаре больше 18 часов вечера, то скрываем возможность выбрать способы доставки
console.log('Скрыть доставку');
} else { // В остальных случаях показываем способы доставки
console.log('Показать доставку');
}
}
С одной стороны логика вроде правильна, но судя по всему проблемы с преобразованием дат, потому что в консоли при выборе определенных дней, появляются такие штуки:
http://prntscr.com/n7vqrs
Что я делаю не так?