KZDev.SystemClock.PrimeTime 1.0.0

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

KZDev.SystemClock.PrimeTime

KZDev.SystemClock.PrimeTime is the strict BCL subset of PrimeTime: the same production clock model (IPrimeClock, PrimeClock, timer registrations, and options types) using TimeProvider and DateTimeOffset / TimeSpan only—without a NodaTime dependency.

Use the namespace KZDev.SystemClock.PrimeTime.

For NodaTime overloads on IPrimeClock (for example Instant, Duration, and LocalTime timer surfaces), use KZDev.PrimeTime instead. Do not reference both packages in the same application.

Requirements

  • Target frameworks: net10.0, net8.0, and netstandard2.0 (with BCL polyfills where needed).
  • Dependencies: Microsoft.Extensions.DependencyInjection, plus Microsoft.Bcl.TimeProvider and related polyfills on netstandard2.0.

Installation

dotnet add package KZDev.SystemClock.PrimeTime

Or add a PackageReference to KZDev.SystemClock.PrimeTime and set the version to the release you validate against (central package management or a fixed version).

Quick start (dependency injection)

using KZDev.SystemClock.PrimeTime;
using Microsoft.Extensions.DependencyInjection;

IServiceCollection services = new ServiceCollection();
services.AddPrimeClock();

ServiceProvider provider = services.BuildServiceProvider();
IPrimeClock clock = provider.GetRequiredService<IPrimeClock>();

System.DateTimeOffset utcNow = clock.UtcNowDateTimeOffset;

Default registration:

  • IPrimeClockPrimeClock singleton, backed by TimeProvider.System unless you register TimeProvider first.
  • IPrimeTime → same instance as IPrimeClock.

Testing package

Testing APIs are provided by KZDev.SystemClock.PrimeTime.Testing. Add that package when you need virtual-time test types such as IPrimeTestClock and PrimeTestClock.

SystemClock-specific surface

The BCL package adds IPrimeClock.LocalScheduleTimeZone for local calendar time-of-day scheduling (when available on your target framework). The NodaTime superset does not declare that member; there, local scheduling follows the zoned NodaTime view (LocalZonedNowInstant.Zone).

Documentation and source

See also

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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 is compatible.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on KZDev.SystemClock.PrimeTime:

Package Downloads
KZDev.SystemClock.PrimeTime.Testing

Virtual-time test clock and contracts for KZDev.SystemClock.PrimeTime (BCL subset).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 0 6/29/2026

- KZDev.SystemClock.PrimeTime v1.0.0 — testable clocks and timers with minimal BCL dependencies.