6 releases (breaking)
0.5.0 | Oct 18, 2023 |
---|---|
0.4.1 | Dec 14, 2022 |
0.4.0 | Nov 18, 2022 |
0.3.0 | Nov 18, 2022 |
0.1.0 | Mar 29, 2022 |
#4 in #getting
15KB
184 lines
World Time Wrapper
This is a simple wrapper for the World Time API. This crate is based on the WorldTimeAPI wrapper by Dulatr.
Usage
To use this crate, add worldtimeapi
to your Cargo.toml
:
[dependencies]
worldtimeapi = "0.5.0"
Then create a client for an endpoint (currently they only offer "ip" and "timezone"):
use std::collections::HashMap;
use worldtimeapi::service::{Client, Endpoint};
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = Client::new(Endpoint::Timezone).await?;
let mut payload = HashMap::new();
payload.insert("area", "America");
payload.insert("location", "New_York");
let result = client.get(payload).await?;
println!("{}", result.datetime());
Ok(())
}
To get a list of regions and locations, use the regions
method:
use worldtimeapi::service::{Client, Endpoint};
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = Client::new(Endpoint::Timezone).await?;
let regions = client.regions();
println!("{:?}", regions);
Ok(())
}
Dependencies
~5–19MB
~285K SLoC