Maison > développement back-end > C++ > Comment puis-je créer des objets DateTime dans des fuseaux horaires spécifiques à l'aide de C #?

Comment puis-je créer des objets DateTime dans des fuseaux horaires spécifiques à l'aide de C #?

Barbara Streisand
Libérer: 2025-01-26 04:21:11
original
419 Les gens l'ont consulté

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

Travailler avec les objets DateTime et les fuseaux horaires en C #

La manipulation précise du fuseau horaire est essentielle lors du développement d'applications qui traitent des dates et des temps entre différentes régions. La structure standard DateTime en C # offre une prise en charge intégrée limitée pour des fuseaux horaires spécifiques au-delà de la local, de l'UTC et non spécifiés. Pour y remédier, la mise à profit de TimeZoneInfo fournit une solution plus robuste.

Cet exemple démontre une structure personnalisée DateTimeWithZone pour gérer les objets DateTime dans un fuseau horaire spécifié:

<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>
Copier après la connexion

Cette structure stocke la date et l'heure en tant qu'UTC DateTime en interne. Il offre des propriétés pour accéder à l'heure UTC, le TimeZoneInfo associé et le temps local dans la zone spécifiée. Remarquez l'utilisation de TimeZoneInfo au lieu de la classe TimeZone plus ancienne pour une précision et une manipulation améliorées de l'heure d'été.

En utilisant cette structure DateTimeWithZone, les développeurs peuvent créer des objets DateTime représentant des fuseaux horaires spécifiques (par exemple, PST) pour les tests ou le traitement des données, garantissant des résultats cohérents, quel que soit le fuseau horaire local du système. Cette approche est cruciale pour les applications nécessitant une conscience précise du fuseau horaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal