using System.Collections.Generic;
using System.Globalization;
private static readonly List<(string TimeZoneId, string CultureCode)> TimeZoneCulturePairs = new List<(string, string)>
("Europe/London", "en-GB"),
("Europe/Madrid", "es-ES"),
("Europe/Paris", "fr-FR"),
("America/New_York", "en-US"),
public static void Main()
DateTime dateTime = new DateTime(2024, 8, 15, 12, 0, 0, DateTimeKind.Utc);
foreach (var (timeZoneId, cultureCode) in TimeZoneCulturePairs)
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
CultureInfo culture = new CultureInfo(cultureCode);
DateTime dateTimeInTimeZone = TimeZoneInfo.ConvertTimeFromUtc(dateTime, timeZone);
string formattedDate = dateTimeInTimeZone.ToString("dd MMM yyyy", culture);
Console.WriteLine($"{timeZoneId} ({culture.Name}): {formattedDate}");
catch (TimeZoneNotFoundException)
Console.WriteLine($"Time zone '{timeZoneId}' not found.");
catch (CultureNotFoundException)
Console.WriteLine($"Culture '{cultureCode}' not found.");