Maison >développement back-end >C++ >Comment créer un objet DateTime avec un fuseau horaire spécifique en C# ?
En testant des scénarios ou en appliquant des applications dans différents fuseaux horaires, la création d'objets DateTime avec un fuseau horaire spécifique est une exigence très courante. Le constructeur DateTime en C # offre des options limitées pour le fuseau horaire spécifié.
Pour créer des objets DateTime avec un fuseau horaire spécifique, vous pouvez utiliser la méthode DateTime.SpecifyKind () pour spécifier le type d'objet DateTime (local, utc ou non spécifié), puis utilisez des temps de temps de TimezoneInfo.ConvertTime () ou du TimezoneInfo. () Temps de conversion C'est le fuseau horaire requis.
Cependant, il est plus flexible d'utiliser la classe TimezoneInfo. Comment faire fonctionner l'exemple ci-dessous:
La structure DatetimewithTimeZone résume UTC Datetime et TimezoneInfo, vous permettant de changer facilement entre l'heure UTC et l'heure locale. Lorsque vous traitez avec un grand nombre d'objets DateTime, pour des raisons de performance, il est préférable d'utiliser des structures au lieu de la classe.
<code class="language-csharp">using System; public class DateTimeWithTimeZone { private readonly DateTime utcDateTime; private readonly TimeZoneInfo timeZone; public DateTimeWithTimeZone(DateTime dateTime, TimeZoneInfo timeZone) { utcDateTime = dateTime.ToUniversalTime(); this.timeZone = timeZone; } public DateTime UniversalTime => utcDateTime; public TimeZoneInfo TimeZone => timeZone; public DateTime LocalTime => TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, timeZone); }</code>
Cette méthode offre une plus grande flexibilité et une plus grande clarté de code lors de l'utilisation d'objets DateTime dans un fuseau horaire spécifique.
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!