using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// Possibly use TimeZoneConverter
// No need in .NET 6
// https://github.com/mattjohnsonpint/TimeZoneConverter

namespace TopNugetPackages
{
    public class TimeZone : ITopNugetPackages
    {
        public void DoIt()
        {
            DateTime currentTime = DateTime.Now;
            Console.WriteLine("Current Times:");
            Console.WriteLine("Hong Kong: {0}", currentTime.ToString());
            Console.WriteLine();
            Console.WriteLine("Los Angeles: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
            Console.WriteLine("Chicago: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
            Console.WriteLine("New York: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
            Console.WriteLine("London: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
            Console.WriteLine("Moscow: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
            Console.WriteLine("New Delhi: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
            Console.WriteLine("Beijing: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
            Console.WriteLine("Tokyo: {0}",
                              TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
        }
    }
}