小编Ken*_*don的帖子

代码中的函数我正在调试似乎没有考虑到DST的转换

我正在调试一个会议室预订日历,由不再与我合作的人组成.这是一场噩梦,因为它有太多的错误,但是我无法弄清楚到底是什么导致了这个最后的错误.日历检查房间是否已经在某些时间被预订,并且他们没有在正确的时间显示预订的问题,但是如果有人试图在房间空出后一小时或更短时间内预订同一房间转入或转出夏令时,它显示房间仍然是预定的.例:

  • 用户看到一个房间预留11月29日上午9点至10点.
  • 用户然后尝试在11月29日上午10:30至晚上12:00预订房间.
  • 日历取消此第二个请求,并通知用户房间已经预订.

应该注意的是,这不会在转移到夏令时(11月4日)之前的任何时间发生.这是确定房间是否可用的功能:

    function calCheck($starttime, $endtime, $cal_name, $cat_id, $myDB, $myHost, $myUser, $myPass) {
    $timezone = 'America/Denver';
    date_default_timezone_set ($timezone);
    $dset = new DateTime($odate, new DateTimeZone($timezone));
    $dset2 = $dset->getOffset();

    //$starttime = $starttime + 1;
    //$endtime = $endtime  - 1;     
    $starttime = $starttime - $dset2 + 1;
    $endtime = $endtime - $dset2 - 1;
    $starttime = $starttime;
    $endtime = $endtime; 

    //echo $starttime .'</br>'. $endtime . '</br>';
    $db = new myDB($myDB, $myHost, $myUser, $myPass);
    $db->myDB_Connect();
    //echo 'calcheck</br>';
    $ck_query = 'SELECT * FROM …
Run Code Online (Sandbox Code Playgroud)

php mysql calendar dst

7
推荐指数
1
解决办法
136
查看次数

标签 统计

calendar ×1

dst ×1

mysql ×1

php ×1