CronCraft 1.0.2

dotnet add package CronCraft --version 1.0.2
                    
NuGet\Install-Package CronCraft -Version 1.0.2
                    
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="CronCraft" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CronCraft" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="CronCraft" />
                    
Project file
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 CronCraft --version 1.0.2
                    
#r "nuget: CronCraft, 1.0.2"
                    
#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.
#addin nuget:?package=CronCraft&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=CronCraft&version=1.0.2
                    
Install as a Cake Tool

๐Ÿ•’ 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 via Dictionary<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:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'Add your message')
  4. Push to the branch (git push origin feature/your-feature)
  5. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 287 6/12/2025
1.0.0 275 6/12/2025