날짜, 시간 및 표준 시간대

.NET에서는 기본 DateTime 구조 외에도 다음과 같이 표준 시간대를 사용할 수 있는 클래스를 지원합니다.

  • TimeZone

    이 클래스를 사용하여 시스템의 현지 표준 시간대와 UTC(협정 세계시) 영역을 사용합니다. TimeZone 클래스의 기능은 주로 TimeZoneInfo 클래스로 대체됩니다.

  • TimeZoneInfo

    이 클래스를 사용하여 시스템에 미리 정의된 표준 시간대를 사용하고, 새 표준 시간대를 만들고, 한 표준 시간대에서 다른 표준 시간대로 날짜 및 시간을 쉽게 변환할 수 있습니다. 새로운 개발에는 TimeZone 클래스 대신 TimeZoneInfo 클래스를 사용합니다.

  • DateTimeOffset

    이 구조를 사용하여 UTC의 해당 오프셋(또는 차이)가 알려진 날짜 및 시간을 사용합니다. DateTimeOffset 구조체는 날짜 및 시간 값을 UTC의 해당 시간 오프셋과 결합합니다. UTC와의 관련성으로 인해 개별 날짜 및 시간 값은 단일 지점을 명확하게 식별합니다. 이렇게 하면 DateTime 값보다는 DateTimeOffset 값을 한 컴퓨터에서 다른 컴퓨터로 더욱 이식하기가 쉽습니다.

.NET 6부터 다음 형식을 사용할 수 있습니다.

  • DateOnly

    날짜만 나타내는 값으로 작업할 때 이 구조체를 사용하세요. 날짜는 하루의 시작부터 끝까지 하루 전체를 나타냅니다. DateOnly의 범위는 0001-01-01부터 9999-12-31까지입니다. 이 형식은 특정 시간이 없는 월, 일 및 연도 조합을 나타냅니다. 이전에 시간을 무시한 날짜를 나타내기 위해 코드에 DateTime 형식을 사용한 경우 이 형식을 대신 사용하세요.

  • TimeOnly

    이 구조체를 사용하여 날짜 없이 시간을 나타냅니다. 시간은 특정 날짜가 없는 시간, 분 및 초를 나타냅니다. TimeOnly의 범위는 00:00:00.0000000부터 23:59:59.9999999까지입니다. 이 형식은 시간을 나타내기 위해 해당 형식을 사용했을 때 코드에서 DateTimeTimeSpan 형식을 바꾸는 데 사용할 수 있습니다.

다음 섹션에서는 표준 시간대로 작업하고 날짜 및 시간을 한 표준 시간대에서 다른 표준 시간대로 변환할 수 있는 표준 시간대 인식 애플리케이션을 만들기 위해 필요한 정보를 제공합니다.

단원 내용

표준 시간대 개요
표준 시간대 인식 애플리케이션을 만드는 데 관련된 용어, 개념 및 문제에 대해 설명합니다.

DateTime, DateTimeOffset, TimeSpan 및 TimeZoneInfo 중 선택
날짜 및 시간 데이터로 작업할 때 DateTime, DateTimeOffsetTimeZoneInfo 형식을 사용하는 경우를 설명합니다.

로컬 시스템에 정의된 표준 시간대 찾기
로컬 시스템에서 발견되는 표준 시간대를 열거하는 방법을 설명합니다.

방법: 컴퓨터에 있는 표준 시간대 열거
컴퓨터의 레지스트리에 정의된 표준 시간대를 열거하고 사용자가 목록에서 미리 정의된 표준 시간대를 선택할 수 있는 예제를 제공합니다.

방법: 미리 정의된 UTC 및 현지 표준 시간대 개체에 액세스
협정 세계시 및 현지 표준 시간대에 액세스하는 방법을 설명합니다.

방법: TimeZoneInfo 개체 인스턴스화
로컬 시스템 레지스트리에서 TimeZoneInfo 개체를 인스턴스화하는 방법을 설명합니다.

DateTimeOffset 개체 인스턴스화
DateTimeOffset 개체를 인스턴스화할 수 있는 방법과 DateTime 값을 DateTimeOffset 값으로 변환할 수 있는 방법에 대해 설명합니다.

방법: 조정 규칙을 사용하지 않고 표준 시간대 만들기
일광 절약 시간제와의 전환을 지원하지 않는 사용자 지정 표준 시간대를 만드는 방법을 설명합니다.

방법: 조정 규칙을 사용하여 표준 시간대 만들기
일광 절약 시간제와의 하나 이상의 전환을 지원하는 사용자 지정 표준 시간대를 만드는 방법을 설명합니다.

표준 시간대 저장 및 복원
표준 시간대 데이터의 serialization 및 deserialization에 대한 TimeZoneInfo 지원에 대해 설명하고 이러한 기능을 사용할 수 있는 일부 시나리오를 보여 줍니다.

방법: 포함 리소스에 표준 시간대 저장
사용자 지정 표준 시간대를 만들고 리소스 파일에 해당 정보를 저장하는 방법을 설명합니다.

방법: 포함 리소스에서 표준 시간대 복원
포함된 리소스 파일에 저장된 사용자 지정 표준 시간대를 인스턴스화하는 방법을 설명합니다.

날짜 및 시간에 대한 산술 연산 수행
DateTimeDateTimeOffset 값의 더하기, 빼기 및 비교와 관련된 문제를 설명합니다.

방법: 날짜 및 시간 산술 연산의 표준 시간대 사용
표준 시간대의 조정 규칙을 반영하는 날짜 및 시간 산술 연산을 수행하는 방법에 대해 설명합니다.

DateTime과 DateTimeOffset 간 변환
DateTimeDateTimeOffset 값 간을 변환하는 방법을 설명합니다.

표준 시간대 간에 시간 변환
한 표준 시간대를 다른 표준 시간대로 변환하는 방법에 대해 설명합니다.

방법: 모호한 시간 확인
모호한 시간을 표준 시간대의 표준 시간에 매핑하여 해결하는 방법에 대해 설명합니다.

방법: 사용자의 모호한 시간 확인 작업 허용
사용자가 모호한 현지 시간과 협정 세계시 간의 매핑을 확인하도록 하는 방법을 설명합니다.

참조

System.TimeZoneInfo