9 unstable releases
| 0.5.3 | Jun 3, 2025 |
|---|---|
| 0.5.2 | Aug 5, 2024 |
| 0.5.1 | May 24, 2024 |
| 0.5.0 | Oct 18, 2023 |
| 0.1.0 | Mar 29, 2022 |
#174 in Date and time
439 downloads per month
20KB
249 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.3"
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
~6–18MB
~230K SLoC