소프트웨어 개발에서는 날짜 및 시간 작업을 정확하게 처리하는 것이 중요합니다. 여기에는 특정 시간대에서 DateTime 객체를 생성하고 조작하는 것이 포함됩니다. C#에서 DateTime 생성자는 표준 시간대 설정을 위한 제한된 옵션을 제공합니다. 이 제한 사항을 해결하기 위해 이 문서에서는 TimeZoneInfo 클래스를 사용하여 지정된 표준 시간대(예: PST)를 사용하여 DateTime 개체를 만드는 방법을 살펴봅니다.
DateTime 생성자의 내장 시간대 옵션에 의존하는 대신 System.TimeZone 네임스페이스의 TimeZoneInfo 클래스를 사용하는 것이 좋습니다. TimeZoneInfo는 시간대를 처리하기 위한 포괄적인 속성 및 메서드 집합을 제공합니다.
다른 시간대의 DateTime을 원활하게 처리하려면 다음 사용자 정의 구조 구현을 고려하십시오.
<code class="language-csharp">public struct DateTimeWithZone { private readonly DateTime utcDateTime; private readonly TimeZoneInfo timeZone; public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone) { var dateTimeUnspec = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified); utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTimeUnspec, timeZone); this.timeZone = timeZone; } public DateTime UniversalTime { get { return utcDateTime; } } public TimeZoneInfo TimeZone { get { return timeZone; } } public DateTime LocalTime { get { return TimeZoneInfo.ConvertTime(utcDateTime, timeZone); } } }</code>
이 구조를 사용하면 UTC의 DateTime 개체를 사용하고 표시 또는 처리를 위해 다른 시간대로 쉽게 변환할 수 있습니다. UTC(세계시), 시간대 정보 및 지정된 시간대를 기반으로 하는 현지 시간에 대한 속성을 제공합니다.
PST에서 DateTime 개체를 생성하려면 다음 코드를 사용할 수 있습니다.
<code class="language-csharp">var pstTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); var pstDateTime = new DateTimeWithZone(DateTime.Now, pstTimeZone);</code>
이렇게 하면 PST 시간대의 현재 날짜와 시간을 나타내는 DateTimeWithZone 개체가 생성됩니다. 이제 필요에 따라 UTC 시간, PST 시간 및 시간대 정보에 쉽게 액세스할 수 있습니다.
위 내용은 C#에서 특정 시간대(예: PST)에 DateTime 개체를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!