{"id":22312136,"url":"https://github.com/jirikostiha/atin","last_synced_at":"2026-02-18T11:33:33.977Z","repository":{"id":257826999,"uuid":"860483122","full_name":"jirikostiha/atin","owner":"jirikostiha","description":"Utilities for parsing and formatting time spans to and from alphanumeric time interval notation. ","archived":false,"fork":false,"pushed_at":"2024-10-17T18:42:53.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-20T01:51:36.585Z","etag":null,"topics":["duration-parsing","notation","parser","time-conversion","time-format","time-interval","time-parsing"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jirikostiha.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":"2024-09-20T14:15:36.000Z","updated_at":"2024-10-17T18:42:57.000Z","dependencies_parsed_at":"2024-10-19T23:44:04.481Z","dependency_job_id":null,"html_url":"https://github.com/jirikostiha/atin","commit_stats":null,"previous_names":["jirikostiha/atin"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirikostiha%2Fatin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirikostiha%2Fatin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirikostiha%2Fatin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirikostiha%2Fatin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jirikostiha","download_url":"https://codeload.github.com/jirikostiha/atin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228004809,"owners_count":17854894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["duration-parsing","notation","parser","time-conversion","time-format","time-interval","time-parsing"],"created_at":"2024-12-03T21:34:32.121Z","updated_at":"2026-02-18T11:33:28.466Z","avatar_url":"https://github.com/jirikostiha.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alphanumeric Time Interval Notation (ATIN)  \n\n![GitHub repo size](https://img.shields.io/github/repo-size/jirikostiha/atin)\n![GitHub code size](https://img.shields.io/github/languages/code-size/jirikostiha/atin)  \n[![Build](https://github.com/jirikostiha/atin/actions/workflows/build.yml/badge.svg)](https://github.com/jirikostiha/atin/actions/workflows/build.yml)\n[![Code Lint](https://github.com/jirikostiha/atin/actions/workflows/lint-code.yml/badge.svg)](https://github.com/jirikostiha/atin/actions/workflows/lint-code.yml)\n\n## Overview\n\nThis project provides utilities for parsing and formatting alphanumeric time intervals like D1, H3, M5, W2H1S10.  \n\n\n## Features\n\n- **Parse Atin format to TimeSpan**: The `AtinParser.Parse` method converts a string representation of a time span (weeks, days, hours, minutes, seconds) into a `TimeSpan` object.\n- **Format TimeSpan to Atin**: The `ToAtin` extension method converts a `TimeSpan` object into a string using the \"Atin\" format.\n\n\n## Example Usage\n\n### Parsing a TimeSpan from a string\n\nThe following example shows how to use the `AtinParser.Parse` method to convert a formatted string into a `TimeSpan` object.\n\n```csharp\n  Console.WriteLine(AtinParser.Parse(\"H2\")); // Output: 02:00:00\n  Console.WriteLine(AtinParser.Parse(\"W1D2H3M4S5\")); // Output: 9.03:04:05\n```\n\n### Formatting a TimeSpan to Atin format\n\nUse the `ToAtin` extension method to convert a `TimeSpan` object into an \"Atin\"-formatted string.\n\n```csharp\n  Console.WriteLine(TimeSpan.FromHours(2).ToAtin()); // Output: H2\n  Console.WriteLine(new TimeSpan(9, 3, 4, 5).ToAtin()); // Output: W1D2H3M4S5\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirikostiha%2Fatin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjirikostiha%2Fatin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirikostiha%2Fatin/lists"}