Meilleur auteur de réponses
SharePoint 2010 Valeur indexée de EventDate du calendrier est à GMT

Question
-
Bonjour,
j'aimerais savoir pourquoi le retour d'une valeur ows_eventDate dans les propriétés de recherche/indexation de SharePoint 2010 reste en dans le fuseau UTC+0 ?
J'ai bien positionner les fuseaux horaire à UTC + 1 sur le serveur, dans SharePoint Admin et dans le Site et rien n'y fait, je remonte toujours l'heure de début d’événement à la mauvaise heure!
vous avez une piste
example:
Sur ma liste calendrier de sharepoint j'ai 30/11/2013 - 12:00
et le résultat indexé me retourne 30/11/2013 - 11:00
cdt
Max
Maxime Ouellet MCTS WSS Development
- Modifié Maxime Ouellet vendredi 22 novembre 2013 15:05
Réponses
-
Voila, SharePoint remonte les données de date au format UTC, il faut donc créer une fonction qui calcul la difference entre UTC & GMT!
exemple:
<msxsl:script implements-prefix="myExtension" language="C#">
<![CDATA[
public string FormatOutputDate(string aDate)
{
DateTime aDt;
if (DateTime.TryParse(aDate, out aDt))
{
DateTime returnTime = new DateTime(aDt.Ticks, DateTimeKind.Local);
returnTime += TimeZone.CurrentTimeZone.GetUtcOffset(returnTime);
if (TimeZone.CurrentTimeZone.IsDaylightSavingTime(returnTime))
returnTime -= new TimeSpan(1, 0, 0);
return TimeZone.CurrentTimeZone.ToLocalTime(returnTime).ToString("dd/MM/yyyy - hh:mm - ");
//return aDt.ToString("dd/MM/yyyy - hh:mm", new System.Globalization.CultureInfo("fr-FR"));
}
else
return aDate;
}
]]>
</msxsl:script>Maxime Ouellet MCTS WSS Development
- Marqué comme réponse Maxime Ouellet vendredi 22 novembre 2013 09:20
Toutes les réponses
-
Voila, SharePoint remonte les données de date au format UTC, il faut donc créer une fonction qui calcul la difference entre UTC & GMT!
exemple:
<msxsl:script implements-prefix="myExtension" language="C#">
<![CDATA[
public string FormatOutputDate(string aDate)
{
DateTime aDt;
if (DateTime.TryParse(aDate, out aDt))
{
DateTime returnTime = new DateTime(aDt.Ticks, DateTimeKind.Local);
returnTime += TimeZone.CurrentTimeZone.GetUtcOffset(returnTime);
if (TimeZone.CurrentTimeZone.IsDaylightSavingTime(returnTime))
returnTime -= new TimeSpan(1, 0, 0);
return TimeZone.CurrentTimeZone.ToLocalTime(returnTime).ToString("dd/MM/yyyy - hh:mm - ");
//return aDt.ToString("dd/MM/yyyy - hh:mm", new System.Globalization.CultureInfo("fr-FR"));
}
else
return aDate;
}
]]>
</msxsl:script>Maxime Ouellet MCTS WSS Development
- Marqué comme réponse Maxime Ouellet vendredi 22 novembre 2013 09:20
-
Parcontre, ca n'explique pas pourquoi je recois 1h en moins dans le résultat de recherche!
a moins que microsoft confirme que c'est normal qu'il faut convertir via l'UI pour obtenir un affichage normal pour l'utilisateur?
Maxime Ouellet MCTS WSS Development
- Modifié Maxime Ouellet vendredi 22 novembre 2013 15:15