• home
    • news & events
    • blog
  • über uns
    • projekte und referenzen
    • partner
    • produkte & technologien
    • offene jobs / stellen
    • veröffentlichungen
  • dienstleistungen & services
    • software design & architektur
    • software entwicklung
    • beratung / consulting
    • training, kurse und workshops
  • angebote
    • quick-starts
    • trainings und kurse
    • modulare sharepoint 2010 workshops
  • kontakt
"Wir sprechen SharePoint."
In Code und Klartext.
Seit über 100 Jahren.
Diesen Blog abonnieren
Subscribe in NewsGator Online Add to My AOL
Add to Google Reader or Homepage Add to netvibes

Aktuelle Posts

Ribbon Designer für SharePoint und Office365
Mapping Boolean Properties in a Custom Nintex Workflow Action
SharePoint Designer, Literals und das __designer:Preview Ärgernis
Spellcheck: Anpassen (Customizing) des Content Editors
Access Services - the Big Picture

Archiv

Mai 2012 (1)
April 2012 (5)
März 2012 (5)
Februar 2012 (7)
Januar 2012 (4)
Dezember 2011 (2)
November 2011 (10)
September 2011 (3)
August 2011 (7)
Juli 2011 (1)
Juni 2011 (3)
Mai 2011 (6)
April 2011 (5)
März 2011 (8)
Februar 2011 (8)
Januar 2011 (4)
Dezember 2010 (5)
November 2010 (7)
September 2010 (6)
August 2010 (2)
Juli 2010 (11)
Juni 2010 (13)
Mai 2010 (11)
April 2010 (4)
März 2010 (6)
Februar 2010 (2)
Januar 2010 (6)
Dezember 2009 (4)
November 2009 (13)
Oktober 2009 (17)
September 2009 (2)
Juli 2009 (2)
März 2009 (2)
Januar 2009 (1)

1stQuad ist Microsoft Certified Gold Partner und bietet SharePoint und .NET Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist MatchPoint Partner und bietet MatchPoint Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist Nintex Partner und bietet Nintext SharePoint Workflows Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist Balesio Gold Partner und bietet SharePoint FILEMinimizer Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad Solutions ist Kentico Certified Solution Partner und bietet Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
© 2011 1stQuad Solutions
Alle Rechte vorbehalten
> Impressum
Wir bieten Microsoft SharePoint und .NET Projekt- und Produkt-Know-how, Kompetenz und Erfahrung für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.

Blog > November 2009

Doppelte Zeitzonen-Rechnung bei DateTime Listenfeldern

Heute konnte ich ein ganz tückisches Phänomen lösen, welches mich einiges an Nerven gekostet hat. In einem Microsoft Office SharePoint 2007 Projekt mit viel Eigenentwicklung hat der Kunde festgestellt, dass einige Felder vom Typ "DateTime" in eigenen der selbst entwickelten Komponenten nicht die korrekte Zeit anzeigen. Des Rätsels Lösung liegt in den Tiefen von SPQuery...

Veröffentlicht am 25.11.2009 12:19:44 von Michael Hofer mit 0 Kommentar(en)

SharePoint und DateTime - das allein ist ja schon eine Geschichte für sich. Intern verwendet SharePoint ja UTC-Time und rechnet diese dann je nach Zeitzonen-Einstellungen der jeweiligen SharePoint Site automatisch um. Soweit so gut - aber eben, jede Automation hat so ihren Preis. Man findet auf dem Web etliche Beispiele, wo man genau mit dieser (an und für sich exzellent gemeinten und meist auch gut umgesetzten) Automation auf Probleme stösst...

Das Problem, welches ich hier lösen möchte äussert sich in dem, dass eine falsche Uhrzeit angezeigt wird - und zwar wird nachvollziehbar 2 mal die Zeitzonen-Verschieben gerechnet. In meinem Fall ist dies plus 1 Stunden (Schweiz). Die angezeigte Zeit ist aber jeweils um eine Stunde später. Ändere ich die Zeitzonen-Einstellung auf plus 2 Stunden ist die angezeigte Zeit 2 Stunden später usw.

In dem von mir untersuchten SharePoint-Projekt war die Situation folgendermassen: Datum und Zeit wurden über standard SharePoint Publishing WebControls als MetaDaten einer Veröffentlichungsseite eingegeben. Fehlerquelle: wohl kaum. In allen Listenansichten wird die Zeit korrekt ausgegeben. Nächster Test: Über das Objektmodell hole ich mir das fragliche SPListItem und prüfe das von SharePoint erstellte Objekt vom Typ DateTime (Code ist nur exemplarisch):

DateTime myTestDateTime = (DateTime)spList.Items["myTestItem"]["myTestDateTimeField"];

Komisch - auch hier absolut alles korrekt! Die Zeit stimmt, Zeitzone etc. ist ebenfalls korrekt. Und trotzdem liefert die Applikation falsche Zeiten.

Nach einer Weile habe ich dann realisiert, dass ich es hier nicht mit "normalen" SPListItems zu tun hatte: Diese SPListItemCollection ist das Resultat einer Abfrage mittels SPQuery. Nachdem ich eine ähnliche Abfrage nachgebaut hatte konnte ich tatsächlich feststellen, dass der identische Code von oben für dieselbe Seite (ich sage bewusst nicht "das identische SPListItem", den dieses ist ja nur eine Instanz von diesem Typ) nun die falsche Zeit liefert.

Des Rätsels Lösung: SPQuery hat eine Eigenschaft DatesInUTC. Diese ist standardmässig auf false und dies verursacht nachweislich das Problem...

SPQuery mySPQuery = new SPQuery();
mySPQuery.DatesInUTC = true;

... und plötzlich stimmt auch mein Test von oben mit SPListItems von einem SPQuery wieder.

Kommentar
Dieser Blog-Eintrag wurde noch nicht kommentiert.
Kommentar hinterlassen



 Security code
Zurück, Seite drucken