Artikel-ID: 932955 - Geändert am: Dienstag, 15. Januar 2008 - Version: 5.2 Wie behandeln Datumsangaben und Uhrzeiten, umfassen Sie Sommerzeit
Auf dieser SeiteEINFÜHRUNGEntwickler Anwendungen schreiben, die Datums- und Uhrzeitangaben behandeln können eine oder mehrere Technologien, die Manipulation von Datum und Zeit Bearbeitung ausführen. Insbesondere können bestimmte Basisbetriebssystem APIs, C-Laufzeit (CRT) und Microsoft .NET Framework konvertieren oder anderweitig bearbeiten Datums- und Zeitangaben. Dieser Artikel beschreibt einige der allgemeinen Konzepte, die Behandlung von Datumsangaben und Uhrzeiten beteiligt sind. Dieser Artikel beschreibt darüber hinaus die Auswirkungen der Änderungen, die Sommerzeit (DST) 2007 zu bestimmten Produkten und Technologien. Weitere InformationenZeit speichern und BearbeitungZeitstempel sind Werte, die eine Kombination aus Datum und Uhrzeit angeben. Anwendungen, die in der Regel Timestamps behandeln müssen speichern diese Zeitstempel in Universal Coordinated Time (UTC). Der Vorteil von UTC besteht, dass UTC universal. UTC ist nicht zu lokalen Zeitzonen unterliegen oder Sommerzeit. UTC ist jedoch weder benutzerfreundlicher als auch für die meisten Benutzer relevant. Obwohl UTC die offensichtliche Wahl für Speicher ist, ist es keine gute Wahl für angezeigt. Daher konvertieren die meisten Anwendungen UTC-Zeit in lokale Zeit, bevor Sie den Zeitstempel für den Benutzer angezeigt. Beispielsweise, wendet Windows Explorer die Zeitzone und Sommerzeit-Einstellung auf den UTC-Zeitstempel müssen, bevor Datums- und Zeitangaben für Dateien in einem Windows NT-Dateisystem (NTFS) Verzeichnis angezeigt.Konvertierung aus UTC in Ortszeit kann als zwei Offsets anwenden betrachtet werden. Die erste ist der Zeitzonenoffset und die zweite ist der DST-Offset. Daher lokale Zeit ist UTC-Zeit plus einen Zeitzonenoffset sowie alle anwendbaren DST offset. Der Zeitzonenoffset ist recht einfach. Der Computer für einer bestimmten Zeitzone konfiguriert ist, und die Zeitzone hat einen Offset von UTC. Um zu bestimmen ist, ob ein DST Offset angewendet werden soll wesentlich komplexer. Diese Aktivität stützt sich auf viele Regeln, die komplexen und dynamische sind. Diese komplexen DST-Regeln wurden mit Sommerzeit 2007 vor kurzem geändert. In 2007 starten, hat der USA neue Anfangs- und Enddaten neue für DST eingeführt. Darüber hinaus ist es üblich für andere Länder und Regierungen routinemäßig die Anfangs- und das Enddatum für Sommerzeit in Zeitzonen ändern, die unter Ihrer Kontrolle stehen. Der folgende Abschnitt beschreibt die Auswirkungen der Änderung der Sommerzeit 2007 entwicklerbezogenen-Produkte. Weitere Informationen zu Sommerzeit 2007 die folgende Microsoft-Website: http://support.microsoft.com/gp/cp_dst
(http://support.microsoft.com/gp/cp_dst)
Sommerzeit 2007 Auswirkungen auf Entwickler-bezogene TechnologienWindowsAuf der Windows Update und auf Microsoft Updates stehen, ermöglicht Windows, um die Änderungen für Sommerzeit 2007 und die folgenden Jahre korrekt zu übernehmen. Nachdem diese Updates angewendet wurden, berechnet Windows ordnungsgemäß der aktuelle Offsets von UTC-Zeit in lokale Zeit als DST der Computer durchläuft. Die Offsets gehören die Offsets für den Basis-APIs und für die Netzwerke Zeit bezogenen APIs.Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base: 942763
(http://support.microsoft.com/kb/942763/
)
Kumulatives Zeitzonenupdate für Microsoft Windows-Betriebssysteme vom Dezember 2007 C-Laufzeit (CRT)Die CRT führt auch Übersetzungen für Datum und Uhrzeit Übersetzungen. Daher muss die CRT auch aktualisiert werden, um die neuen Regeln für Sommerzeit 2007 enthalten. Die CRT führt eigene Zeit-Verarbeitung nur, wenn die Umgebungsvariable " TZ festgelegt ist oder wenn ein zugrunde liegende Betriebssystem API Zeit Aufruf schlägt fehl. Updates stehen für die CRTs, die in jeder Version von Microsoft Visual Studio enthalten sind und auch für die CRTs, die im Lieferumfang von Windows enthalten sind. Diese Updates aktivieren CRT um fortzufahren, DST-Konvertierungen in Zeitzonen der USA ordnungsgemäß zu behandeln..NET Framework.NET Framework stützt sich auf die zugrunde liegende Betriebssystem-Aufrufe. Daher entspricht das Verhalten von .NET Framework den Zustand des zugrunde liegenden Betriebssystems. Keine separates Update ist erforderlich.Visual Studio .NET integrierten Entwicklungsumgebungen (IDEs)Der Visual Studio .NET IDEs enthalten, Version 2002, 2003 und von Microsoft Visual C++, Microsoft Visual c# und Microsoft Visual Basic 2005. Diese Produkte sind betroffen, nur weil Sie die CRT einschließen. Keine IDE-spezifische Aktualisierung ist erforderlich.Visual Studio 2005 Team Foundation ServerVisual Studio 2005 Team Foundation Server ist abhängig vom zugrunde liegenden Betriebssystem für Datum und Uhrzeit Konvertierungen. Daher weist Visual Studio 2005 Team Foundation Server das gleiche Verhalten wie das Betriebssystem. Visual Studio 2005 Team Foundation Server hängt auch Microsoft SQL Server, SQL Server Reporting Services und Windows SharePoint Services. Computer sollte mit den entsprechenden Updates für das Betriebssystem für SQL Server und Windows SharePoint Services aktualisiert werden. Alle relevanten Updates sollten auf allen betroffenen Computern gleichzeitig angewendet werden. Keine separates Visual Studio 2005 Team Foundation Server-Update ist erforderlich.Visual Studio 2005 Team SystemVisual Studio 2005 Team System ist über das Betriebssystem, durch Visual Studio 2005 Team Foundation Server und über die CRT betroffen. Keine separates Visual Studio 2005 Team System-Update ist erforderlich.Visual SourceSafeWeitere Informationen zu Visual SourceSafe-Sommerzeit-Problemen in 2007 finden Sie im folgenden Artikel der Microsoft Knowledge Base:931804
(http://support.microsoft.com/kb/931804/
)
Visual SourceSafe Sommerzeit Probleme in 2007 Visual Basic 6.0-LaufzeitDie Visual Basic 6.0-Laufzeit ist nicht betroffen.Visual C++ 6.0Visual C++ 6.0 ist nicht mehr unterstützt.Weitere Informationen der folgenden Microsoft-Website: http://support.microsoft.com/lifecycle/
(http://support.microsoft.com/lifecycle/)
Windows Software Development Kit (SDK) für Windows VistaDieses SDK enthält eine Version der CRT, die von der Sommerzeit 2007 Änderungen betroffen ist. Als Teil der Installation dieses SDK können Sie die Visual Studio 2005 CRT auf Computern installieren, die nicht bereits über diese Version der CRT installiert verfügen. Eine neuere Version der CRT bereits installiert ist, werden die neuere Version von die SDK-Installation nicht überschrieben. Wenn das SDK deinstalliert wird, wird die neueste Version der CRT auf dem Computer belassen. Sie können entweder Visual Studio 2005-CRT-Update installieren, bevor oder nachdem Sie das SDK installieren.Das Windows SDK für Windows Vista installiert auch eine Reihe von durch Mergemodule (MSM-Dateien) für die Visual Studio 2005 CRT für die Weitergabe von der CRT als Teil von benutzerdefinierten C++-Anwendungen. Eine Anwendung, die die verteilbare CRT für den Installationsordner der Anwendung bereitstellt, muss die aktualisierte CRT aus der Visual Studio 2005-CRT-Aktualisierung anstelle der CRT-MSM-Dateien aus dem Windows SDK für Windows Vista bereitstellen. Eine Anwendung, die das verteilbare Visual Studio 2005-CRT-Update für Windows-Installationsordner bereitstellt, muss das verteilbare Visual Studio 2005-CRT-Update auf diesen Computern anwenden. Plattform-SDK für Microsoft Windows Server 2003 R2Dieses SDK enthält eine Version der CRT, die von der Sommerzeit 2007 Änderungen betroffen ist. Kunden müssen befolgen Sie die Anmerkungen für dieses SDK und Visual Studio 2005-CRT-Updates verwenden, wenn Sie erforderlich sind..NET Framework 2.0 SDKDieses SDK enthält eine Version der CRT, die von der Sommerzeit 2007 Änderungen betroffen ist. Als Teil der Installation dieses SDK können Sie die Visual Studio 2005 CRT auf Computern installieren, die nicht bereits über diese Version der CRT installiert verfügen. Eine neuere Version der CRT bereits installiert ist, werden die neuere Version von die SDK-Installation nicht überschrieben. Wenn das SDK deinstalliert wird, wird die neueste Version der CRT auf dem Computer belassen. Sie können entweder Visual Studio 2005-CRT-Update installieren, bevor oder nachdem Sie das SDK installieren.Konvertierung von Ortszeit in WindowsAnwendungen in der Regel konvertieren in Ortszeit UTC-Zeiten, bevor Sie Uhrzeit und Datumsinformationen dem Benutzer angezeigt. Windows bietet mehrere APIs für Anwendungen für die Timestamp-Bearbeitung verwenden.
Um ein Beispiel für dieses Verhalten in Windows Explorer anzuzeigen, gehen Sie folgendermaßen vor auf einem Computer, der sich in einer Zeitzone befindet, die DSTS verwendet. Denken Sie daran, dass diese Schritte müssen Sie die Systemuhr ändern. Daher müssen Sie alle Anwendungen, z. B. Kalender-Anwendungen beenden, die auf diese Änderungen reagieren kann, bevor Sie diese Schritte.
Weitere Informationen finden Sie diesem Blog: http://blogs.msdn.com/oldnewthing/archive/2003/10/24/55413.aspx
(http://blogs.msdn.com/oldnewthing/archive/2003/10/24/55413.aspx)
Die SystemTimeToTzSpecificLocalTime() -Methode und die TzSpecificTimeToSystemTime() -Methode konvertieren mithilfe der bereitgestellten TIME_ZONE_INFORMATION zwischen UTC und der lokalen Zeit. Wenn keine Zeitzoneninformationen bereitgestellt wird, diese Funktionen verwenden die aktuelle Zeitzonenregeln und die DST-Regeln bestimmen, ob ein DST-Offset müssen auf der Timestamp angewendet werden. Dies entspricht funktionell dem Aufruf der GetTimeZoneInformation() -Methode, um die Struktur "TIME_ZONE_INFORMATION erhalten, die derzeit in Kraft ist. Die Struktur "TIME_ZONE_INFORMATION enthält das Startdatum und Enddatum für Sommerzeit. Daher kann die Struktur "TIME_ZONE_INFORMATION aktuelle Zeitzoneninformationen verwendet, die Struktur" TIME_ZONE_INFORMATION historische Ungenauigkeit einführen. Dieses Verhalten kann auftreten, wenn die aktuelle Zeitzoneninformationen und der DST Informationen nicht den Zeitstempel wider, der konvertiert wird. Dieses Verhalten ist von der Sommerzeit 2007 betroffen, nur auf, da die Regeln, die Datumsangaben zu, steuern Wenn DSTS startet und stoppt, geändert wurden. Historisch gesehen genaue Konvertierungen von diesen Funktionen erhalten Sie müssen eine Anwendung historisch gesehen genau TIME_ZONE_INFORMATION angeben, wenn die Anwendung diese Funktionen aufruft. Dynamische Zeitzonen in WindowsWindows Vista führt dynamische DST-Zeitzonen. Dynamische DST bietet Unterstützung für Zeitzonen, deren Grenzen für Sommerzeit Jahr zu Jahr ändern. Diese Regeln werden in der Registrierung gespeichert. Anwendungen können die Regeln mithilfe der Funktion GetDynamicTimeZoneInformation() Abfragen.Dynamische Zeitzonen aktivieren einfacher Aktualisieren von Computern, insbesondere für Gebietsschemas, bei denen die jährlichen DST Grenzen im Voraus bekannt sind. Weitere Informationen über die Struktur DYNAMIC_TIME_ZONE_INFORMATION im Windows SDK für Vista der folgenden Microsoft Developer Network (MSDN)-Website: http://msdn2.microsoft.com/en-us/library/ms724253.aspx
(http://msdn2.microsoft.com/en-us/library/ms724253.aspx)
Konvertierung von Ortszeit in C-Laufzeit (CRT)Die CRT hat im Wesentlichen drei Modi, in denen Zeitstempel übersetzt werden kann:
Hinweis: Diese Konvertierung folgt spezifischen Regeln in die Vereinigten Staaten. Bevor Sie das Sommerzeit 2007-Update anwenden, behandelt die CRT korrekt aktuelle Timestamps im Zeitzonen der USA. Nachdem Sie das Sommerzeit 2007-Update angewendet haben, verarbeitet die CRT auch vergangenen und zukünftigen USA Datumsangaben. Updates für die CRT sind in Abschnitt ? Informationsquellen eingeben aufgeführt. Konvertierung von Ortszeit in .NET FrameworkDie .NET Framework enthält Klassen, die speichern und Konvertieren von Timestamps. Diese Klassen umfassen die DateTime -Klasse, TimeZone -Klasse, die TimeSpan -Klasse und der DateTimeKind -Klasse. Wie zuvor erwähnt hängt diese Klassen in erster Linie die zugrunde liegende Plattform-Implementierung. Diese Klassen weisen dasselbe Verhalten wie die zugrunde liegende Betriebssystem-APIs.Eine interessante Verhalten durch die Klassen von .NET Framework-Datum und Uhrzeit Klassen wies bezieht sich auf Funktionen, die den Timestamp mit einem angeforderten Betrag offset. Betrachten Sie beispielsweise die AddHours() -Funktion, die AddMinutes() -Funktion und die AddSeconds() -Funktion in die DateTime -Klasse. Diese Funktionen und Funktionen, die ähnlich benannten lediglich den Zeitstempel werden die angeforderte Menge ohne Berücksichtigung der Sommerzeit-Einstellungen erhöht. Dieses Verhalten kann einfache arithmetische Operationen auf der zugrunde liegenden UTC Timestamp betrachtet. Dieses Verhalten konnte jedoch zu unerwarteten Ergebnissen führen, wenn das Hinzufügen den Zeitstempel, in oder außerhalb des DST zu übergeben. Dieses Verhalten ist nicht mit Änderungen, Sommerzeit 2007 in Zusammenhang. EmpfehlungenDie folgenden Empfehlungen können Entwickler die Auswirkungen der Sommerzeit 2007 minimieren und allgemeine Datum und Zeit Fehlerbehandlung zu verbessern.
InformationsquellenWeitere Informationen über das Portal Sommerzeit 2007 Microsoft die folgenden Microsoft-Website: http://support.microsoft.com/gp/cp_dst
(http://support.microsoft.com/gp/cp_dst)
Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base: 942763
(http://support.microsoft.com/kb/942763/
)
Kumulatives Zeitzonenupdate für Microsoft Windows-Betriebssysteme vom Dezember 2007 931975
(http://support.microsoft.com/kb/931975/
)
Wie Sie SQL Server 2005 und SQL Server 2000 für Änderungen an der Sommerzeit in 2007 Vorbereiten 931804
(http://support.microsoft.com/kb/931804/
)
Visual SourceSafe Sommerzeit Probleme in 2007 Weitere Informationen finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Websites:http://msdn2.microsoft.com/en-us/library/ms724277.aspx
(http://msdn2.microsoft.com/en-us/library/ms724277.aspx)
Um Updates für die C-Laufzeit (CRT) Sommerzeit 2007 zu erhalten, finden Sie folgende Artikel der Microsoft Knowledge Base:http://msdn2.microsoft.com/en-us/library/ms724490.aspx (http://msdn2.microsoft.com/en-us/library/ms724490.aspx) http://msdn2.microsoft.com/en-us/library/ms725473.aspx (http://msdn2.microsoft.com/en-us/library/ms725473.aspx) 932305
(http://support.microsoft.com/kb/932305/
)
Update: Visual C++ .NET 2002 C Runtime Sommerzeit 2007 Update für das Problem TZ Umgebung variable 932304
(http://support.microsoft.com/kb/932304/
)
Update: Visual C++ .NET 2002 Service Pack 1 C Runtime Sommerzeit 2007 Update für die Variable TZ-Umgebung-problem 932299
(http://support.microsoft.com/kb/932299/
)
Update: Visual C++ .NET 2003 C Runtime Sommerzeit 2007 Update für das Problem TZ Umgebung variable 932298
(http://support.microsoft.com/kb/932298/
)
Update: Visual C++ .NET 2003 Service Pack 1 C Runtime Sommerzeit 2007 Update für die Variable TZ-Umgebung-problem 932392
(http://support.microsoft.com/kb/932392/
)
Update: Visual C++ .NET 2005 C Runtime Sommerzeit 2007-Update für die Umgebungsvariable "TZ 932391
(http://support.microsoft.com/kb/932391/
)
Update: Visual C++ .NET 2005 Service Pack 1 C Runtime Sommerzeit 2007-Update für die Umgebungsvariable "TZ 932590
(http://support.microsoft.com/kb/932590/
)
Update: Windows-basierte Anwendungen, die die Umgebungsvariable "TZ verwenden möglicherweise nicht erwartungsgemäß aufgrund von Änderungen an Sommerzeit Die Informationen in diesem Artikel beziehen sich auf:
Maschinell übersetzter ArtikelWichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten. Den englischen Originalartikel können Sie über folgenden Link abrufen: 932955
(http://support.microsoft.com/kb/932955/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| Weitere Ressourcen Weitere SupportseitenCommunityHilfe erhaltenSPRACHE AUSWÄHLEN
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Zum Anfang