1.7 KiB
1.7 KiB
About
Microsoft.Bcl.TimeProvider provides time abstraction support for apps targeting .NET 7 and earlier, as well as those intended for the .NET Framework. For apps targeting .NET 8 and newer versions, referencing this package is unnecessary, as the types it contains are already included in the .NET 8 and higher platform versions.
Key Features
- Provides a common abstraction for time-related operations.
How to Use
using System;
// A class that uses TimeProvider to get the current time in Utc coordinates
public class UtcClock
{
private readonly TimeProvider _timeProvider;
// Constructor that takes a TimeProvider as a dependency
public Clock(TimeProvider timeProvider)
{
_timeProvider = timeProvider;
}
// A method that returns the current time as a string
public string GetTime()
{
return _timeProvider.GetLocalNow().ToString("HH:mm:ss");
}
}
// A class that inherits from TimeProvider and overrides the GetLocalNow method
public class UtcTimeProvider : TimeProvider
{
// Override the GetLocalNow method to always return UTC time
public override DateTimeOffset GetLocalNow()
{
return TimeProvider.System.GetUtcNow();
}
}
Main Types
The main types provided by this library are:
TimeProvider
TimeProviderTaskExtensions
Additional Documentation
Feedback & Contributing
Microsoft.Bcl.TimeProvider is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.