none
SharePoint 2010 Valeur indexée de EventDate du calendrier est à GMT RRS feed

  • 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



    jeudi 21 novembre 2013 15:43

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


    vendredi 22 novembre 2013 15:04