Есть очень простой способ сделать это. Просто получите текущее время UTC и ваш часовой пояс. Конвертировать UTC в ваш часовой пояс. Вот как ты это делаешь.
DateTime date1 = DateTime.UtcNow;
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("YOUR TIME ZONE (e.g. Pakistan Standard Time)");
DateTime date2 = TimeZoneInfo.ConvertTime(date1, tz);
Установите часовой пояс в tz, а затем используйте «date2» где угодно