summaryrefslogtreecommitdiff
path: root/README.md
blob: ffd7ad865a37a93bf12f51c7506344d711d96632 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# RRule in rust

[![Build](https://travis-ci.com/fmeringdal/rust_rrule.svg?branch=main)](https://travis-ci.com/fmeringdal/rust_rrule)
[![codecov](https://codecov.io/gh/fmeringdal/rust_rrule/branch/main/graph/badge.svg)](https://codecov.io/gh/fmeringdal/rust_rrule)
[![crates.io](https://img.shields.io/crates/v/rrule.svg)](https://crates.io/crates/rrule)

A pure Rust partial implementation of recurrence rules as defined in the iCalendar RFC.

# Usage

```rust
extern crate rrule;

use rrule::build_rrule;

let mut rrule_set = build_rule("RRULE:UNTIL=19990404T110000Z;DTSTART;TZID=America/New_York:19990104T110000Z;FREQ=WEEKLY;BYDAY=TU,WE");

// Get all occurrences of the rrule set
let occurences = rrule_set.all();
```

# Inspired by

- [python-dateutil library](http://labix.org/python-dateutil/)
- [rrule.js](https://github.com/jakubroztocil/rrule)

# todos

- tests for minutes and seconds FREQ
- timezone
- subseconds
- cache