Один из способов добиться этого - иметь упаковщик для запроса текущей даты, что-то вроде
public static class MyTimeZone
{
public static DateTime Now => DateTime.UtcNow.AddHours(3);
}
, и вы можете просто запросить время, подобное этому
MyTimeZone.Now
Если часовой пояс динамический, просто измените его на функцию.
public static class MyTimeZone
{
public static DateTime Now(int offset) => DateTime.UtcNow.AddHours(offset);
}