{"id":19230492,"url":"https://github.com/ctron/flexible-time","last_synced_at":"2026-03-19T08:50:36.736Z","repository":{"id":193479105,"uuid":"688862704","full_name":"ctron/flexible-time","owner":"ctron","description":"A library to parse timestamps in a flexible format","archived":false,"fork":false,"pushed_at":"2023-09-08T11:35:02.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-30T08:56:17.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-08T09:04:19.000Z","updated_at":"2023-09-24T23:34:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"84049305-f354-4f0b-867c-29115883c1b1","html_url":"https://github.com/ctron/flexible-time","commit_stats":null,"previous_names":["ctron/flexible-time"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ctron/flexible-time","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fflexible-time","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fflexible-time/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fflexible-time/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fflexible-time/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctron","download_url":"https://codeload.github.com/ctron/flexible-time/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fflexible-time/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29922814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T15:39:35.190Z","updated_at":"2026-02-28T02:06:09.450Z","avatar_url":"https://github.com/ctron.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flexible-time\n\n[![crates.io](https://img.shields.io/crates/v/flexible-time.svg)](https://crates.io/crates/flexible-time)\n[![docs.rs](https://docs.rs/flexible-time/badge.svg)](https://docs.rs/flexible-time)\n[![CI](https://github.com/ctron/flexible-time/workflows/CI/badge.svg)](https://github.com/ctron/flexible-time/actions?query=workflow%3A%22CI%22)\n\n\nTime formats can be tricky. And parsing them even more so. However, in some cases you just don't want to\nbother the user with that. Especially when it comes command line applications.\n\n## The Problem\n\n\u003e I need a command line argument `--since`, which allows the user to provide a year, or specific minute of a day.\n\u003e Either one is fine.\n\nThis crate can do it.\n\n## Filling the gaps\n\nThe timestamp will be parsed, but have gaps (like month, day). As can be different expectations on how to fill those\ngaps. The primary motivation for this crate was a \"since\" timestamp, so the strategy for that would be to fill\nmissing components with the minimal value. That's implemented using the `StartTimestamp`.\n\nCurrently, there is no timezone handling, it defaults to UTC.\n\n## Formats\n\nFor timestamps, the following formats can be used:\n\n| **Input**             | **Start timestamp**       |\n|-----------------------|---------------------------|\n| `2023`                | `2023-01-01 00:00:00 UTC` |\n| `2023-02`             | `2023-02-01 00:00:00 UTC` |\n| `2023-02-03`          | `2023-02-03 00:00:00 UTC` |\n| `2023-02-03 16`       | `2023-02-03 16:00:00 UTC` |\n| `2023-02-03 16:05`    | `2023-02-03 16:05:00 UTC` |\n| `2023-02-03 16:05:06` | `2023-02-03 16:05:06 UTC` |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fflexible-time","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctron%2Fflexible-time","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fflexible-time/lists"}