Basic Usage
This guide covers common usage patterns for the Balinese Calendar crate.
Creating Dates
use balinese_calendar::BalineseDate;
let date = BalineseDate::from_ymd(2026, 3, 25)?;
// Access calendar components
println!("Saka Year: {}", date.saka_year);
println!("Sasih: {:?}", date.sasih);
println!("Saptawara: {:?}", date.saptawara); Accessing Calendar Components
let date = BalineseDate::from_ymd(2026, 3, 25)?;
println!("Saptawara: {:?}", date.saptawara);
println!("Pancawara: {:?}", date.pancawara);
println!("Wuku: {:?}", date.wuku);
println!("Wuku day: {}", date.wuku_day);
println!("Pawukon day: {}", date.pawukon_day); Sasih (Lunar Calendar)
println!("Sasih: {:?}", date.sasih);
println!("Saka Year: {}", date.saka_year);
println!("Sasih Day: {:?}", date.sasih_day); Working with Holy Days
if date.is_purnama {
println!("Today is Purnama (full moon)");
}
if !date.rahinan.is_empty() {
println!("Holy days today:");
for rahinan in &date.rahinan {
println!(" - {:?}", rahinan);
}
} Error Handling
match BalineseDate::from_ymd(2026, 2, 30) {
Ok(date) => println!("Valid date"),
Err(e) => eprintln!("Error: {}", e),
}