Files
simple-rust-tests/__misc/icalendar/src/main.rs
2022-10-07 20:58:32 +08:00

42 lines
1.3 KiB
Rust

use chrono::{Duration, NaiveDate, Utc};
use icalendar::{Calendar, Class, Component, Event, Property, Todo};
fn main() {
let my_calendar = Calendar::new()
.name("example calendar")
.push(
// add an event
Event::new()
.summary("test event")
.description("here I have something really important to do")
.starts(Utc::now())
.class(Class::Confidential)
.ends(Utc::now() + Duration::days(1))
.append_property(
Property::new("TEST", "FOOBAR")
.add_parameter("IMPORTANCE", "very")
.add_parameter("DUE", "tomorrow")
.done(),
)
.done(),
)
.push(
// add a todo
Todo::new()
.summary("groceries")
.description("Buy some milk")
.done(),
)
.push(
// add an all-day event
Event::new()
.all_day(NaiveDate::from_ymd(2016, 3, 15))
.summary("My Birthday")
.description("Hey, I'm gonna have a party\nBYOB: Bring your own beer.\nHendrik")
.done(),
)
.done();
println!("{}", my_calendar);
}