GitHub | crates.io | Documentation | Issues | Changelog
julian
is a Rust library for converting between Julian day numbers and
dates in the Gregorian calendar (either proleptic or with the Reformation
occurring at a given date) and/or the proleptic Julian calendar. There are
also features for querying details about years & months in a "reforming"
Gregorian calendar and how they are affected by the calendar reformation date
of your choice.
Before you construct a date, you must first choose a calendar in which to
reckon dates. Calendar::GREGORIAN
is the proleptic Gregorian calendar, which
should be both simple and useful enough for most basic purposes.
To convert a Julian day number to a date in a calendar, use the
Calendar::at_jdn()
method, like so:
```rust use julian::{Calendar, Month};
let cal = Calendar::GREGORIAN; let date = cal.atjdn(2460065); asserteq!(date.year(), 2023); asserteq!(date.month(), Month::April); asserteq!(date.day(), 30); ```
So JDN 2460065 is April 30, 2023, in the proleptic Gregorian calendar.
To convert a date to a Julian day number, use Calendar::at_ymd()
to construct
the date, and then call its julian_day_number()
method:
```rust use julian::{Calendar, Month};
let cal = Calendar::GREGORIAN; let date = cal.atymd(2023, Month::April, 30).unwrap(); asserteq!(date.juliandaynumber(), 2460065); ```
See the documentation for more things you can do!