Search This Blog

Saturday, June 10, 2017

How to resolve time zone in sharepoint 2013

The below method is used to resolve time zone in sharepoint 2013

public static DateTime ResolveTimeZone(ClientContext oParentContext, DateTime dtDate)
{
   //DateTime dtStartDate = DateTime.UtcNow;
  try
  {
    var spTimeZone = oParentContext.Web.RegionalSettings.TimeZone;
    oParentContext.Load(spTimeZone);
    oParentContext.ExecuteQuery();
    var fixedTimeZoneName = spTimeZone.Description.Replace("and", "&");
    var timeZoneInfo = TimeZoneInfo.GetSystemTimeZones().FirstOrDefault(tz => tz.DisplayName == fixedTimeZoneName); //"(UTC-08:00) Pacific Time (US and Canada)"
    TraceUtil.TraceMessage("UTC= " + dtDate);
    TraceUtil.TraceMessage("TZ= " + timeZoneInfo);
    dtDate = TimeZoneInfo.ConvertTimeFromUtc(dtDate.Date.ToUniversalTime(), timeZoneInfo);
    dtDate = dtDate.Date + ts;
  }
  catch (Exception ex)
  {
     throw ex;
  }

  return dtDate;
}

No comments:

Post a Comment