다음을 통해 공유


TimeZoneInfo.ConvertTimeBySystemTimeZoneId 메서드

정의

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.

오버로드

ConvertTimeBySystemTimeZoneId(DateTime, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

표준 시간대 식별자를 기반으로 하여 시간을 한 표준 시간대에서 다른 표준 시간대로 변환합니다.

ConvertTimeBySystemTimeZoneId(DateTime, String)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime

매개 변수

dateTime
DateTime

변환할 날짜 및 시간입니다.

destinationTimeZoneId
String

대상 표준 시간대의 식별자입니다.

반환

대상 표준 시간대의 날짜와 시간입니다.

예외

destinationTimeZoneId이(가) null인 경우

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.

프로세스에 표준 시간대 정보를 포함하는 레지스트리 키에서 읽는 데 필요한 권한이 없습니다.

destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.

설명

변환을 수행할 때 메서드는 ConvertTimeBySystemTimeZoneId 표준 시간대에 destinationTimeZoneId 적용되는 조정 규칙을 적용합니다.

이 오버로드는 개체 참조가 아닌 식별자에 의해 대상 표준 시간대를 지정할 수 있다는 점을 제외하고 메서드를 호출 ConvertTime(DateTime, TimeZoneInfo) 하는 것과 거의 동일합니다. 이 메서드는 시간에 해당하는 표준 시간대 개체를 검색하지 않고도 시간을 변환해야 하며 변환된 시간이 표준인지 일광 절약 시간인지 알 필요가 없는 경우에 가장 유용합니다.

메서드는 ConvertTimeBySystemTimeZoneId(DateTime, String) 다음 표와 같이 매개 변수 KinddateTime 속성 값에서 원본 표준 시간대를 결정합니다.

Kind 속성 값 원본 표준 시간대 메서드 동작
DateTimeKind.Local Local 현지 시간을 의 시간으로 변환합니다 destinationTimeZone.
DateTimeKind.Utc Utc UTC(협정 세계시)를 의 destinationTimeZone시간으로 변환합니다.
DateTimeKind.Unspecified 으로 가정합니다 Local. 현지 시간을 의 시간으로 변환합니다 destinationTimeZone.

Kind 반환 DateTime 된 값의 속성은 다음 표와 같이 설정됩니다.

조건 반환된 Kind 속성 값
destinationTimeZoneTimeZoneInfo.Utc.Id인 경우 DateTimeKind.Utc
다른 destinationTimeZone 모든 값입니다. DateTimeKind.Unspecified

매개 변수의 dateTime 값이 모호한 현지 시간인 경우 표준 시간으로 해석됩니다. 매개 변수가 dateTime 잘못된 현지 시간인 경우 이 메서드는 을 ArgumentExceptionthrow합니다.

를 변환 dateTime 하면 날짜 및 시간 값이 보다 이전 DateTime.MinValue 또는 이후DateTime.MaxValue인 경우 이 메서드는 각각 또는 DateTime.MaxValue를 반환 DateTime.MinValue 합니다.

이 메서드는 Windows 시스템의 레지스트리 및 Linux 및 macOS의 ICU 라이브러리에서 매개 변수로 식별자가 지정된 destinationTimeZoneId 표준 시간대에 대한 정보를 검색합니다. 메서드를 사용하여 CreateCustomTimeZone 만든 표준 시간대 개체를 검색할 수 없습니다. 매개 변수는 destinationTimeZoneId 일치하는 항목이 성공적으로 수행되려면 표준 시간대의 식별자 길이와 정확히 일치해야 합니다. 즉, 표준 시간대 식별자와의 destinationTimeZoneId 비교는 대/소문자를 구분하지 않습니다.

추가 정보

적용 대상

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.

public:
 static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset

매개 변수

dateTimeOffset
DateTimeOffset

변환할 날짜 및 시간입니다.

destinationTimeZoneId
String

대상 표준 시간대의 식별자입니다.

반환

대상 표준 시간대의 날짜와 시간입니다.

예외

destinationTimeZoneId이(가) null인 경우

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.

프로세스에 표준 시간대 정보를 포함하는 레지스트리 키에서 읽는 데 필요한 권한이 없습니다.

destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.

설명

변환을 수행할 때 메서드는 ConvertTimeBySystemTimeZoneId 표준 시간대에 destinationTimeZoneId 적용되는 조정 규칙을 적용합니다.

이 오버로드는 개체 참조가 아닌 식별자에 의해 대상 표준 시간대를 지정할 수 있다는 점을 제외하고 메서드를 호출 ConvertTime(DateTimeOffset, TimeZoneInfo) 하는 것과 동일합니다. 이 메서드는 시간에 해당하는 표준 시간대 개체를 검색하지 않고도 시간을 변환해야 하며 변환된 시간이 표준인지 일광 절약 시간인지 알 필요가 없는 경우에 가장 유용합니다.

매개 변수는 dateTimeOffset UTC(협정 세계시)의 오프셋과 함께 날짜와 시간을 나타내므로 모호한 시간 또는 잘못된 시간을 나타낼 수 없습니다.

이 메서드는 Windows 시스템의 레지스트리 및 Linux 및 macOS의 ICU 라이브러리에서 매개 변수로 식별자가 지정된 destinationTimeZoneId 표준 시간대를 검색합니다. 메서드를 사용하여 CreateCustomTimeZone 만든 표준 시간대 개체를 검색할 수 없습니다. 매개 변수는 destinationTimeZoneId 일치하는 항목이 성공적으로 수행되려면 표준 시간대의 식별자 길이와 정확히 일치해야 합니다. 즉, 표준 시간대 식별자와의 destinationTimeZoneId 비교는 대/소문자를 구분하지 않습니다.

값을 대상 표준 시간대의 시간으로 변환 dateTimeOffset 할 때 메서드는 대상 표준 시간대에 적용되는 조정 규칙을 고려합니다.

를 변환 dateTimeOffset 하면 날짜 및 시간 값이 보다 이전 DateTimeOffset.MinValue 또는 이후DateTimeOffset.MaxValue인 경우 이 메서드는 각각 또는 DateTimeOffset.MaxValue를 반환 DateTimeOffset.MinValue 합니다.

추가 정보

적용 대상

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

표준 시간대 식별자를 기반으로 하여 시간을 한 표준 시간대에서 다른 표준 시간대로 변환합니다.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime

매개 변수

dateTime
DateTime

변환할 날짜 및 시간입니다.

sourceTimeZoneId
String

소스 표준 시간대의 식별자입니다.

destinationTimeZoneId
String

대상 표준 시간대의 식별자입니다.

반환

소스 표준 시간대의 dateTime 매개 변수에 해당하는 대상 표준 시간대의 날짜 및 시간입니다.

예외

dateTime 매개 변수의 Kind 속성이 원본 표준 시간대와 일치하지 않습니다.

또는

dateTime이 원본 표준 시간대에 적합하지 않은 시간입니다.

sourceTimeZoneId이(가) null인 경우

또는

destinationTimeZoneId이(가) null인 경우

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.

사용자에게 표준 시간대 정보를 포함하는 레지스트리 키에서 읽을 수 있는 권한이 없습니다.

sourceTimeZoneId 식별자가 로컬 시스템에 없습니다.

또는

destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.

예제

다음 예제에서는 메서드를 TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) 사용하여 전 세계 8개 도시에서 현지 시스템 시간에 해당하는 시간을 표시합니다.

DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _ 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))

설명

변환을 수행할 때 메서드는 ConvertTimeBySystemTimeZoneId 표준 시간대에 destinationTimeZoneId 적용되는 조정 규칙을 적용합니다.

메서드와 비슷하 TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) 지만 를 사용하여 TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) 개체 대신 TimeZoneInfo 식별자를 사용하여 원본 및 대상 표준 시간대를 지정할 수 있습니다. 이 메서드는 시간에 해당하는 표준 시간대 개체를 검색하지 않고도 시간을 변환해야 하며 변환된 시간이 표준인지 일광 절약 시간인지 알 필요가 없는 경우에 가장 유용합니다.

이 메서드는 식별자가 sourceTimeZoneId Windows 시스템의 레지스트리와 Linux 및 macOS의 ICU 라이브러리에서 및 destinationTimeZoneId 매개 변수인 표준 시간대를 검색합니다. 메서드를 사용하여 CreateCustomTimeZone 만든 표준 시간대 개체는 검색할 수 없습니다.

다음 표와 Kind 같이 매개 변수의 dateTime 속성 값은 sourceTimeZoneId 매개 변수에 해당해야 합니다.

DateTime.Kind 값 sourceTimeZone 값 메서드 동작
DateTimeKind.Utc 와 같습니다 TimeZoneInfo.Utc.Id. 대상 표준 시간대의 시간으로 변환합니다 dateTime .
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id인 경우 ArgumentExceptionthrow합니다.
DateTimeKind.Local 와 같습니다 TimeZoneInfo.Local.Id. 대상 표준 시간대의 시간으로 변환합니다 dateTime .
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id인 경우 ArgumentExceptionthrow합니다.
DateTimeKind.Unspecified 임의 값 대상 표준 시간대의 시간으로 변환합니다 dateTime .

메서드에 대한 호출을 사용하므로 FindSystemTimeZoneById 메서드는 ConvertTimeBySystemTimeZoneId 대/소문자를 구분하지 않는 검색을 수행하여 및 destinationTimeZoneId에 해당하는 표준 시간대를 sourceTimeZoneId 찾습니다.

매개 변수 값 dateTime 이 원본 표준 시간대의 모호한 시간인 경우 표준 시간으로 해석됩니다. 매개 변수가 dateTime 원본 표준 시간대에서 잘못된 시간인 경우 이 메서드는 을 ArgumentExceptionthrow합니다.

반환 DateTime 된 값의 속성은 Kind 대상 표준 시간대가 UTC(협정 세계시)이 아니면 로 설정 DateTimeKind.Unspecified 되며, 이 경우 로 설정DateTimeKind.Utc됩니다.

추가 정보

적용 대상