平日重复事件日历,如谷歌的谷歌日历

时间:2014-05-02 14:11:47

标签: php calendar

我创建了一个事件日历,允许用户添加事件。添加的事件允许每日,每周,每月(和每年)事件创建。

嗯,一切都很好,但是如果用户选择每周的活动(星期一,星期三,星期三......)它将无法正常工作,我的代码是

 function recurringEvents($type, $interval, $date) {
    $startdate = date('Y-m-d', strtotime($date));
    $day = explode('-', $startdate);
    $datetotime = mktime(0,0,0,$day[1], $day[2], $day[0]);
    $dates = array();
    //If interval type is daily
    if($type == 'D') {
        for($i=1;$i<$interval-1;$i++) {
            $newdate = '+ '. $i .' day';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is weekly
    if($type == 'W') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' week';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is monthly
    if($type == 'M') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' month';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is yearly
    if($type == 'Y') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' year';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    return $dates;
}

如何存储用户选择的特定周事件

示例用户输入是,

start date : 2-5-2014
end date   : 2-5-2014
Repeats:   : Weekly 
Repeat every: 2 weeks
Repeat on: Sunday , Friday , Saturday   
Starts on: 2-5-2014
Ends:   After 4 occurrencesOn
Summary:    Every 2 weeks on Sunday, Friday, Saturday, 4 times

0 个答案:

没有答案