вопрос времени - PullRequest
       15

вопрос времени

0 голосов
/ 23 сентября 2011

Это должно быть простое исправление;

В настоящее время у меня есть календарь для выбора диапазона дат:

http://protekco.com/index.php/en/reservations/1718-carvelle-drive-westpalm-beach.html

Когда даты выбраны в календаре, он заполняет 2 поля ввода для дат заезда и выезда. Проблема в том, что календарь изначально был установлен на 1 день позже, поэтому четверг 22 сентября фактически показывал как четверг 21 сентября. Мне удалось просто отобразить +1 на счетчике дня, но в полях ввода все равно отображается ошибочная дата. По сути, я пытаюсь добавить тот же +1, но, поскольку дата возвращается в виде гггг / мм / дд, +1 мало что дает. Вот код:

$listsFrom = $this->lists['from'];
$selectedFrom = $listsFrom ? strtotime($listsFrom) : 0;

$listsTo = $this->lists['to'];
$selectedTo = $listsTo ? strtotime($listsTo) : $selectedFrom;

if ($selectedTo) {
    ADocument::addDomreadyEvent('Calendars.checkOut = ' . $selectedTo . ';');
}
if ($selectedFrom) {
    ADocument::addDomreadyEvent('Calendars.checkIn = ' . $selectedFrom . ';');
}

$listOperation = $this->lists['operation'];

ADocument::addDomreadyEvent('Calendars.operation = ' . $listOperation . ';');

Есть идеи?

Спасибо!

Edit:

<td class="<?php echo implode(' ', $class); ?>" <?php if ($canReserveBox) { ?> id="day<?php echo $firstDay->Uts+84600000; ?>" onclick="Calendars.setCheckDate('day<?php echo $firstDay->Uts+84600000; ?>','<?php echo AHtml::getDateFormat($firstDay->date, ADATE_FORMAT_MYSQL_DATE, 0); ?>','<?php echo AHtml::getDateFormat($firstDay->date, ADATE_FORMAT_NORMAL); ?>')"<?php } ?> >
                <span class="date" >
                    <?php echo AHtml::getDateFormat($firstDay->date, ADATE_FORMAT_NICE_SHORT)+1; 
                    ?>
                </span>

Это то, что на самом деле называет изменениями. + 84600000 - это мое дополнение, похоже, оно мало что дает.

1 Ответ

1 голос
/ 23 сентября 2011

Если дата указана в формате гггг / мм / дд, сначала используйте strtotime () , чтобы преобразовать ее в метку времени, а затем снова можете использовать ее для добавления одного дня.

$date = '2011/06/01';
$ts   = strtotime('+24 hours', strtotime($date));
$date = date('Y/m/d', $ts);

Это только одно из возможных решений.

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