8 stable releases
2.0.1 | Dec 21, 2022 |
---|---|
2.0.0 | Apr 13, 2020 |
1.1.1 | Jan 7, 2020 |
#341 in Date and time
749 downloads per month
11KB
104 lines
sntp_request
sntp_request
Tiny Rust library to request timestamps from NTP servers through SNTP protocol.
Example
The example below shows how to obtain precise timestamp from main NTP server:
use chrono::{Local, TimeZone};
use sntp_request::SntpRequest;
fn main() {
let sntp = SntpRequest::new();
let timestamp = Local.timestamp_opt(sntp.get_unix_time().unwrap(), 0);
println!("{}", timestamp.unwrap());
}
Also, it is possible to get the raw timestamp, for example:
use sntp_request::SntpRequest;
fn main() {
let sntp = SntpRequest::new();
let timestamp = sntp.get_raw_time().unwrap();
let nsec = (timestamp.frac as f64 / u32::max_value() as f64) * 1000.0;
println!("seconds: {} frac: {}", timestamp.secs, timestamp.frac);
println!("milliseconds: {}", nsec);
}
Contributions
Pull Requests are welcome! =)
License
sntp_request
is licensed under the Apache License 2.0 or MIT License.