sntp_request

CI/CD Crates.io Documentation License

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:

```rust use chrono::{Local, TimeZone}; use sntp_request::SntpRequest;

fn main() { let sntp = SntpRequest::new(); let timestamp = Local.timestampopt(sntp.getunix_time().unwrap(), 0); println!("{}", timestamp.unwrap()); } ```

Also, it is possible to get the raw timestamp, for example:

```rust use sntp_request::SntpRequest;

fn main() { let sntp = SntpRequest::new(); let timestamp = sntp.getrawtime().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.