jmbtechnologylimited/rruleunravel 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jmbtechnologylimited/rruleunravel

最新稳定版本:v0.4.0

Composer 安装命令:

composer require jmbtechnologylimited/rruleunravel

包简介

Unravels a ICAL RRULE. STILL IN DEVELOPMENT.

关键字:

README 文档

README

Takes an iCal/ics RRULE (and associated data) and returns you all the occurrences of that Rule.

Version & State

It is marked pre version 1 as it does not deal will all parts of the iCal/ics RRULE spec yet, only some parts. It will not be marked v1.0 until it deals will all the commonly used parts.

Use

Set up Data

The ICalData object should be set up with all needed info. This includes the timezone, start and end and RRULE.

$icalData = new ICalData(
    new \DateTime("2014-11-19 08:00:00", new \DateTimeZone("Europe/London")),
    new \DateTime("2014-11-19 08:00:00", new \DateTimeZone("Europe/London")),
    "FREQ=MONTHLY;BYMONTHDAY=19",
	new \DateTimeZone("Europe/London"));

You can also pass EXDATE lines here.

$icaldata->addExDateByString("20150226T090000","TZID=Europe/London");

Set up worker class

$unraveler = new Unraveler($icalData);

Set up options (Optional)

$unraveler->setIncludeOriginalEvent(false);
$unraveler->setResultsCountLimit(1);

The ResultFilterAfterDateTime and ResultFilterBeforeDateTime allow you to control which events you get back.

$unraveler->addResultFilter(new ResultFilterAfterDateTime(new \DateTime('2016-01-01 00:00:00', new \DateTimeZone("Europe/London"))));

Process and get results

$unraveler->process();
$results = $unraveler->getResults();

The results are an array of UnravelerResult classes, which has methods to get the start and the end.

  • getStart()
  • getEnd()

More

See http://ican.openacalendar.org/ for more.

统计信息

  • 总下载量: 3.83k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: BSD
  • 更新时间: 2014-12-09