【问题标题】:strtotime question时间问题
【发布时间】:2011-09-22 20:54:30
【问题描述】:

这应该是一个简单的修复;

我目前有一个用于选择日期范围的日历:

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

当在日历中选择日期时,它会为入住和退房日期填充 2 个输入字段。问题是,日历最初设置为晚了 1 天,因此 9 月 22 日星期四实际上显示为 9 月 21 日星期四。我只能在天数上回显 +1,但输入框仍然显示错误的日期。本质上,我正在尝试添加相同的 +1,但由于日期返回为 yyyy/mm/dd,+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 . ';');

有什么想法吗?

谢谢!

编辑:

<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 是我添加的,它似乎并没有起到什么作用。

【问题讨论】:

    标签: php date calendar


    【解决方案1】:

    如果日期是yyyy/mm/dd格式,先用strtotime()转换成时间戳,再用它加一天即可。

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

    这只是一种可能的解决方案。

    【讨论】:

    • 感谢您的回答,但是在上面的代码中,我实际上应该在哪里添加 +24 小时?您提出的解决方案使用了我的脚本中不存在的变量,我不知道将它们添加到哪里,更不用说如何调用它们了。
    • 我不知道,也许是 $selectedFrom?你知道哪个值是早一天出现的吗?那就是您要在其上运行该代码的那个。
    • 我刚刚用额外的代码编辑了我的帖子,我认为这是我应该研究的地方?
    • 找到了解决办法,只需要给onClick事件增加额外的时间!
    猜你喜欢
    • 2011-03-16
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多