Crates.io | world-time-api |
lib.rs | world-time-api |
version | 1.4.1 |
source | src |
created_at | 2022-06-21 13:03:06.684039 |
updated_at | 2024-04-12 12:21:25.596182 |
description | A world time API. |
homepage | |
repository | https://github.com/nicolasbauw/world-time-api |
max_upload_size | |
id | 610224 |
size | 52,927 |
An API to retrieve date / time / daylight saving time informations about a timezone.
Example:
curl http://localhost:8000/zoneinfo/Europe/Paris
{"abbreviation":"CEST","datetime":"2019-10-08T20:16:13.612030900+02:00","dst_from":"2019-03-31T01:00:00Z","dst_offset":7200,"dst_period":true,"dst_until":"2019-10-27T01:00:00Z","raw_offset":3600,"timezone":"Europe/Paris","utc_datetime":"2019-10-08T18:16:13.612030900Z","utc_offset":"+02:00","week":40}
It uses system TZfiles (default location on Linux and Macos /usr/share/zoneinfo). You can override the TZfiles default location with the TZFILES_DIR environment variable (ending by a /). That also works on Windows, for example:
$env:TZFILES_DIR="C:\Users\nbauw\Dev\rs-tzfile\zoneinfo\"; cargo run
Some explanations about the offset fields:
Provided dockerfile (which is no longer maintained) builds the app with statically compiled musl libc and then uses an alpine image to keep a low size.