TimeZoneInfo.ConvertTimeBySystemTimeZoneId 메서드

정의

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

오버로드

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

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

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

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

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

반환

DateTime

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

예외

destinationTimeZoneId이(가) null인 경우

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

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

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

설명

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

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

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

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 잘못된 현지 시간인 경우 이 메서드는 ArgumentException.

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

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

추가 정보

적용 대상

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

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

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

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

반환

DateTimeOffset

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

예외

destinationTimeZoneId이(가) null인 경우

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

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

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

설명

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

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

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

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

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

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

추가 정보

적용 대상

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

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 매개 변수에 해당하는 대상 표준 시간대의 날짜 및 시간입니다.

예외

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

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

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

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

메서드 호출에 의존하기 FindSystemTimeZoneById 때문에 메서드는 ConvertTimeBySystemTimeZoneId 대/소문자를 구분하지 않는 검색을 수행하여 해당 sourceTimeZoneId 되는 표준 시간대를 찾습니다 destinationTimeZoneId.

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

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

추가 정보

적용 대상