Net.Like.Xue.Tokyo/Assets/Packages/Microsoft.Bcl.TimeProvider..../PACKAGE.md

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.