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;
}
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