开发者

strtotime question

开发者 https://www.devze.com 2023-04-06 16:08 出处:网络
This should be a simple fix; I currently have a calendar for selecting a range of date: http://protekco.com/index.php/en/reservations/1718-carvelle-drive-westpalm-beach.html

This should be a simple fix;

I currently have a calendar for selecting a range of date:

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

When the dates are selected in the calendar, it populates 2 input fields for Check in and Check out dates. The problem is, the calendar initially was set 1 day late, so Thursday Sept 22 actually showed as a Thursday Sept 21. I was able to just echo a +1 on the day count, but the input boxes still show the erroneous date. Essentially, I'm trying to add the same +1, but because the date is returned as yyyy/mm/dd, +1 doesn'开发者_如何转开发t do much. Here is the code:

$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 . ';');

Any ideas?

Thank you!

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>

This is what actually calls the changes. The + 84600000 is my addition, it doesn't seem to do much tho.


If the date is in yyyy/mm/dd format, first use strtotime() to convert it to a timestamp, and then you can use it again to add one day.

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

That is just one possible solution.

0

精彩评论

暂无评论...
验证码 换一张
取 消