> 백엔드 개발 > C++ > C#에서 특정 시간대(예: PST)에 DateTime 개체를 만드는 방법은 무엇입니까?

C#에서 특정 시간대(예: PST)에 DateTime 개체를 만드는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-26 04:26:09
원래의
576명이 탐색했습니다.

How to Create a DateTime Object in a Specific Time Zone (e.g., PST) in C#?

C#에서 지정된 시간대를 사용하여 DateTime 객체 생성

소프트웨어 개발에서는 날짜 및 시간 작업을 정확하게 처리하는 것이 중요합니다. 여기에는 특정 시간대에서 DateTime 객체를 생성하고 조작하는 것이 포함됩니다. C#에서 DateTime 생성자는 표준 시간대 설정을 위한 제한된 옵션을 제공합니다. 이 제한 사항을 해결하기 위해 이 문서에서는 TimeZoneInfo 클래스를 사용하여 지정된 표준 시간대(예: PST)를 사용하여 DateTime 개체를 만드는 방법을 살펴봅니다.

TimeZoneInfo: 강력한 시간대 처리 메커니즘

DateTime 생성자의 내장 시간대 옵션에 의존하는 대신 System.TimeZone 네임스페이스의 TimeZoneInfo 클래스를 사용하는 것이 좋습니다. TimeZoneInfo는 시간대를 처리하기 위한 포괄적인 속성 및 메서드 집합을 제공합니다.

실용적인 솔루션: DateTimeWithZone 구조

다른 시간대의 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿