Skip to main content
net10.0

Quartz.NET TimeZoneConverter integration - resolves a trigger's time zone by either its IANA or its Windows id, on either operating system, through https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET

Published
Sep 3, 2026
1mo ago
Total Downloads
8.1M
8,089,310

Install

dotnet add package Quartz.Plugins.TimeZoneConverter --version 4.0.0-rc.2
ProductVersions
.NET
net10.0

README

Quartz.Plugins.TimeZoneConverter

Quartz.Plugins.TimeZoneConverter plugs TimeZoneConverter into Quartz.NET's time zone lookup, so that both Windows ids (Central America Standard Time) and IANA ids (America/Guatemala) resolve on either operating system.

Every trigger that names a time zone names it by id, and TimeZoneInfo.FindSystemTimeZoneById answers with whatever ids the machine happens to know. A schedule written on Windows and run on Linux therefore throws TimeZoneNotFoundException where the trigger is built or read back — and a schedule kept in a database is exactly the one that gets moved between them.

Installation

dotnet add package Quartz.Plugins.TimeZoneConverter

Usage

builder.Services.AddQuartz(q => q.UseTimeZoneConverter());

UseTimeZoneConverter hangs off IQuartzBuilder, so the same call configures a scheduler built without a host.

The call registers a resolver with Quartz.TimeZones, which is what Quartz's own lookups go through: both spellings then resolve everywhere, and a stored trigger keeps firing after its scheduler moves host. The registration is process-wide and takes effect at once, so a trigger built before the scheduler exists resolves its zone too. It is not a plugin — 4.0 retired the one this package used to ship, along with the quartz.plugin.timeZoneConverter.type key that named it.

Documentation

https://www.quartz-scheduler.net/documentation/quartz-4.x/packages/timezoneconverter-integration.html

Changes from Previous Version

No structural changes between v4.0.0-rc.1 and v4.0.0-rc.2.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.