title: find current moscow time using c#
body: <p>I'm trying to get local Moscow time in my .NET application.</p>
  
  <p>Here is how far I went:</p>
  
  <pre class="lang-cs prettyprint-override"><code>private static Dictionary&lt;TimeZoneEnum, string&gt; timeZoneDict = new Dictionary&lt;TimeZoneEnum, string&gt;()
  {
      {TimeZoneEnum.RussiaStandardTime, "Russian Standard Time"}
  };
  
  public static DateTime GetDateTimeNowForTimeZone(TimeZoneEnum timezone)
  {
      DateTime result = TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(timeZoneDict[timezone]));
      return result;
  }
  </code></pre>
  
  <p>Method GetDateTimeNowForTimeZone gives me GMT+3 time but now in russia there is GMT+4 time.
  Is there anyu way to get robust solution for this issue in .net framework ?</p>