canto/Assets/Packages/Microsoft.Bcl.TimeProvider.8.0.0/PACKAGE.md
2025-07-14 22:22:25 -04:00

57 lines
No EOL
1.7 KiB
Markdown

## 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
```csharp
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
* [API documentation](https://learn.microsoft.com/dotnet/api/system.timeprovider)
## Feedback & Contributing
Microsoft.Bcl.TimeProvider is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).