Обычным решением является использование Dependency Injection.Вы создаете поставщика услуг и службу, которая поддерживает все ваши потребности в дате.
У Microsoft есть система внедрения зависимостей Microsoft.Extensions.DependencyInjection.
Вы можете либо поместить сервис в конструкторы других сервисов, либо просто получить к нему прямой доступ.
Существует мнение, что внедрение зависимостей - это просто модный способ иметь глобальные переменные.С другой стороны, при использовании с определениями интерфейсов для каждой службы в большой системе это, вероятно, улучшает возможности тестирования компонентов.
Еще один комментарий, в большинстве случаев DateTimeOffset лучше, чем DateTime, потому что он устраняет неоднозначность того, к какому часовому поясу относится дата / время.