Heim >Backend-Entwicklung >C++ >Wie kann ich mit C# DateTime-Objekte in bestimmten Zeitzonen erstellen?

Wie kann ich mit C# DateTime-Objekte in bestimmten Zeitzonen erstellen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-26 04:21:11424Durchsuche

How Can I Create DateTime Objects in Specific Time Zones Using C#?

Arbeiten mit DateTime-Objekten und Zeitzonen in C#

Eine genaue Zeitzonenbehandlung ist bei der Entwicklung von Anwendungen, die Datums- und Uhrzeitangaben in verschiedenen Regionen verarbeiten, unerlässlich. Die standardmäßige DateTime-Struktur in C# bietet begrenzte integrierte Unterstützung für bestimmte Zeitzonen außer lokal, UTC und nicht spezifiziert. Um dieses Problem anzugehen, bietet die Nutzung von TimeZoneInfo eine robustere Lösung.

Dieses Beispiel zeigt eine benutzerdefinierte DateTimeWithZone-Struktur zum Verwalten von DateTime-Objekten innerhalb einer angegebenen Zeitzone:

<code class="language-csharp">public struct DateTimeWithZone
{
    private readonly DateTime utcDateTime;
    private readonly TimeZoneInfo timeZoneInfo;

    public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone)
    {
        var dateTimeUnspecified = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);
        utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTimeUnspecified, timeZone);
        timeZoneInfo = timeZone;
    }

    public DateTime UtcTime { get { return utcDateTime; } }

    public TimeZoneInfo TimeZoneInfo { get { return timeZoneInfo; } }

    public DateTime LocalTime
    {
        get { return TimeZoneInfo.ConvertTime(utcDateTime, timeZoneInfo); }
    }
}</code>

Diese Struktur speichert Datum und Uhrzeit intern als UTC DateTime. Es bietet Eigenschaften für den Zugriff auf die UTC-Zeit, das zugehörige TimeZoneInfo und die Ortszeit in der angegebenen Zone. Beachten Sie die Verwendung von TimeZoneInfo anstelle der älteren Klasse TimeZone für eine verbesserte Genauigkeit und Handhabung der Sommerzeit.

Mithilfe dieser DateTimeWithZone-Struktur können Entwickler DateTime Objekte erstellen, die bestimmte Zeitzonen (z. B. PST) für Tests oder Datenverarbeitung darstellen und so konsistente Ergebnisse unabhängig von der lokalen Zeitzone des Systems gewährleisten. Dieser Ansatz ist von entscheidender Bedeutung für Anwendungen, die eine genaue Zeitzonenerkennung erfordern.

Das obige ist der detaillierte Inhalt vonWie kann ich mit C# DateTime-Objekte in bestimmten Zeitzonen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn