SmartTimeSpanParser 1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SmartTimeSpanParser --version 1.0.0
NuGet\Install-Package SmartTimeSpanParser -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SmartTimeSpanParser" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SmartTimeSpanParser" Version="1.0.0" />
<PackageReference Include="SmartTimeSpanParser" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SmartTimeSpanParser --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SmartTimeSpanParser, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SmartTimeSpanParser@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SmartTimeSpanParser&version=1.0.0
#tool nuget:?package=SmartTimeSpanParser&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
โฑ๏ธ SmartTimeSpanParser
A developer-friendly .NET library for parsing natural time duration expressions like
"2h 30m"or"1.5 days"into usableTimeSpanobjects.
๐ Features
- Fluent parsing of expressions like:
2h,1.5 hours30 minutes,45m,90s1h 15m,2 days 3h
- Converts human input to
TimeSpan - Small, fast, and dependency-free
- Perfect for config parsing, retries, timeouts, and CLI tools
๐ฆ Installation
Install from NuGet (coming soon):
dotnet add package SmartTimeSpanParser
๐ Example Usage
var duration = SmartTimeSpan.Parse("2h 30m");
Console.WriteLine(duration); // 02:30:00
if (SmartTimeSpan.TryParse("45 minutes", out var parsed))
{
Console.WriteLine(parsed); // 00:45:00
}
๐ก Supported Formats
| Input | Description |
|---|---|
2h |
2 hours |
1.5 days |
36 hours |
30m or 30 minutes |
30 minutes |
90s |
90 seconds |
1h 15m |
1 hour and 15 minutes |
2d 3h |
2 days and 3 hours |
More formats and units coming soon!
๐ ๏ธ Planned Roadmap
-
ToHumanString()method for output like"2 hours, 15 minutes" - Support for milliseconds
- Support plural/locale parsing (
fr,de,es) - CLI tool for parsing and formatting durations
๐ Changelog
See CHANGELOG.md
๐งช Run Tests
dotnet test
๐ค Contributing
Pull requests welcome! Please see CONTRIBUTING.md for details.
๐ License
MIT โ see LICENSE
โญ If you find this useful, give it a star!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.