5 stable releases
Uses new Rust 2024
new 1.2.1 | Mar 12, 2025 |
---|---|
1.2.0 | Mar 9, 2025 |
1.1.0 | Mar 9, 2025 |
1.0.1 | Jun 21, 2023 |
1.0.0 | Dec 15, 2018 |
#25 in Date and time
406,229 downloads per month
Used in 8 crates
35KB
491 lines
sunrise
This crate provides a function for calculating sunrise and sunset times using this method.
You can enable the no-std feature if you need it to work in such a context, it will rely on libm
instead.
Usage
In order to perform the calculation, you'll need to provide the following:
- the date for which you wish to calculate the times
- the latitude and longitude of the location
Begin by adding this crate to Cargo.toml
:
[dependencies]
sunrise = "1.2"
You can use the SolarDay
struct to perform computation of an event at a
particular place and time:
use chrono::NaiveDate;
use sunrise::{Coordinates, SolarDay, SolarEvent, DawnType};
// January 1, 2016 in Toronto
let date = NaiveDate::from_ymd_opt(2016, 1, 1).unwrap();
let coord = Coordinates::new(43.6532, -79.3832).unwrap();
let dawn = SolarDay::new(coord, date)
.with_altitude(54.)
.event_time(SolarEvent::Dawn(DawnType::Civil));
Dependencies
~1–1.3MB
~20K SLoC