CronCraft 1.0.2
dotnet add package CronCraft --version 1.0.2
NuGet\Install-Package CronCraft -Version 1.0.2
<PackageReference Include="CronCraft" Version="1.0.2" />
<PackageVersion Include="CronCraft" Version="1.0.2" />
<PackageReference Include="CronCraft" />
paket add CronCraft --version 1.0.2
#r "nuget: CronCraft, 1.0.2"
#addin nuget:?package=CronCraft&version=1.0.2
#tool nuget:?package=CronCraft&version=1.0.2
๐ CronCraft
CronCraft is a lightweight, developer-friendly .NET SDK that converts cron expressions into human-readable strings โ with support for localization, formatting, and time zone awareness โ no configuration files required.
๐ค Why CronCraft?
CronCraft is designed for clarity, speed, and minimal setup.
Whether you're building a web app, a CLI tool, a Windows Service, or a background worker โ just create a CronSettings
object, and you're good to go.
โ No dependency injection. No appsettings. Just clean, functional cron parsing. โ
โจ Features
- ๐ Converts standard or Quartz cron expressions to plain language
- ๐ Localized day-of-week formatting (
short
,full
,single
, or custom) - ๐ Time zone adjustment (optional)
- ๐ง Fully configurable via
CronSettings
object - ๐ฆ Lightweight, zero-dependency core logic
๐ฆ Installation
dotnet add package CronCraft
๐ ๏ธ Usage Example
using CronCraft.Models;
using CronCraft.Extensions;
string cronExpression = "0 0 * * *"; // Every day at midnight
var settings = new CronSettings
{
Language = "en",
DayNameFormat = "short"
};
// Without timezone
string humanReadable = cronExpression.ToHumanReadable(settings);
Console.WriteLine("๐ CronCraft Expression Translator");
Console.WriteLine("-----------------------------------");
Console.WriteLine($"๐งพ Cron Expression: {cronExpression}");
Console.WriteLine($"๐ Human Readable: {humanReadable}");
Console.WriteLine("-----------------------------------");
Console.WriteLine("Press Enter to exit...");
// With TimeZone
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Central Africa Standard Time");
humanReadable = cronExpression.ToHumanReadable(settings, timeZone);
Console.WriteLine($"๐ Human Readable (Local TZ): {humanReadable}");
Console.ReadLine();
Expected Output:
๐ CronCraft Expression Translator
-----------------------------------
๐งพ Cron Expression: 0 0 * * *
๐ Human Readable: Every day at 12:00 AM
-----------------------------------
๐ Human Readable (Local TZ): Every day at 01:00 AM
Press Enter to exit...
๐ง Supported Day Name Formats
full
: e.g. "Sunday"short
: e.g. "Sun"single
: e.g. "S"custom
: fully user-defined viaDictionary<string, string>
๐ Languages Supported
- English (
en
) - Spanish (
es
) - French (
fr
) - Easily extendable via custom mappings
๐งโ๐ป Author
Esanju Babatunde
GitHub ยท LinkedIn
๐ค Contributing
Contributions are welcome! If you'd like to:
- Fix a bug
- Improve performance
- Add support for a new language
- Refactor or improve documentation
Feel free to open a Pull Request or start a Discussion.
Before contributing:
- Fork the repo
- Create your feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -m 'Add your message'
) - Push to the branch (
git push origin feature/your-feature
) - Open a pull request ๐
If you're not sure where to start, check the issues.
Let's make cron expressions human again! โค๏ธ
๐ License
This project is licensed under the MIT License.
See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
-
net8.0
- Microsoft.Extensions.Options (>= 9.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.