TimeZoneInfo.ConvertTimeBySystemTimeZoneId TimeZoneInfo.ConvertTimeBySystemTimeZoneId TimeZoneInfo.ConvertTimeBySystemTimeZoneId Method

정의

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.Converts a time to the time in another time zone based on a time zone identifier.

오버로드

ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String)

표준 시간대 식별자를 기반으로 하여 시간을 한 표준 시간대에서 다른 표준 시간대로 변환합니다.Converts a time from one time zone to another based on time zone identifiers.

ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String) ConvertTimeBySystemTimeZoneId(DateTime, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.Converts a time to the time in another time zone based on the time zone's identifier.

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

매개 변수

dateTime
DateTime DateTime DateTime

변환할 날짜 및 시간입니다.The date and time to convert.

destinationTimeZoneId
String String String

대상 표준 시간대의 식별자입니다.The identifier of the destination time zone.

반환

대상 표준 시간대의 날짜와 시간입니다.The date and time in the destination time zone.

예외

destinationTimeZoneIdnull입니다.destinationTimeZoneId is null.

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.The time zone identifier was found, but the registry data is corrupted.

프로세스에 표준 시간대 정보를 포함하는 레지스트리 키에서 읽는 데 필요한 권한이 없습니다.The process does not have the permissions required to read from the registry key that contains the time zone information.

destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.The destinationTimeZoneId identifier was not found on the local system.

설명

변환 수행 하는 경우는 ConvertTimeBySystemTimeZoneId 메서드는 모든 조정 규칙 적용에 적용 됩니다는 destinationTimeZoneId 표준 시간대입니다.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

이 오버 로드는 호출 하는 거의 동일 합니다 ConvertTime(DateTime, TimeZoneInfo) 메서드를 사용할 수 있다는 점을 제외 하면 개체 참조 하는 대신 해당 id에서 대상 표준 시간대를 지정할 수 있습니다.This overload is largely identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. 이 메서드를 해당 하는 표준 시간대 개체를 검색 하지 않고 시간을 변환 해야 하 고 변환 된 표준 또는 일광 절약 시간 인지 알 필요가 없을 때 가장 유용 합니다.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

ConvertTimeBySystemTimeZoneId(DateTime, String) 메서드는 원본 표준 시간대의 값에서을 결정 합니다 dateTime 매개 변수의 Kind 다음 표와 같이 속성입니다.The ConvertTimeBySystemTimeZoneId(DateTime, String) method determines the source time zone from the value of the dateTime parameter's Kind property, as the following table shows.

Kind 속성 값Kind property value 원본 표준 시간대Source time zone 메서드 동작Method behavior
DateTimeKind.Local Local 시간을 현지 시간 변환 destinationTimeZone합니다.Converts the local time to the time in destinationTimeZone.
DateTimeKind.Utc Utc Utc (협정 세계시) 시간으로 변환 destinationTimeZone합니다.Converts Coordinated Universal Time (UTC) to the time in destinationTimeZone.
DateTimeKind.Unspecified 간주 Local합니다.Assumed to be Local. 시간을 현지 시간 변환 destinationTimeZone합니다.Converts the local time to the time in destinationTimeZone.

합니다 Kind 반환 된 속성 DateTime 값이 다음 표와에서 같이 설정 합니다.The Kind property of the returned DateTime value is set as shown in the following table.

조건Condition Kind 속성 값 반환Returned Kind property value
destinationTimeZoneTimeZoneInfo.Utc.Id인 경우The destinationTimeZone is TimeZoneInfo.Utc.Id. DateTimeKind.Utc
다른 destinationTimeZone 값입니다.Any other destinationTimeZone value. DateTimeKind.Unspecified

경우 값은 dateTime 매개 변수는 모호한 현지 시간, 표준 시간으로 해석 됩니다.If the value of the dateTime parameter is an ambiguous local time, it is interpreted as a standard time. 경우는 dateTime 매개 변수는 잘못 된 현지 시간,이 메서드는 throw는 ArgumentException합니다.If the dateTime parameter is an invalid local time, this method throws an ArgumentException.

경우 변환 dateTime 의 결과 보다 이전 날짜 및 시간 값 DateTime.MinValue 보다 이후 이거나 DateTime.MaxValue,이 메서드는 반환 DateTime.MinValue 또는 DateTime.MaxValue각각.If the conversion of dateTime results in a date and time value that is earlier than DateTime.MinValue or later than DateTime.MaxValue, this method returns DateTime.MinValue or DateTime.MaxValue, respectively.

이 메서드는 Windows 시스템의 레지스트리 및 Linux 및 macos의 destinationTimeZoneId ICU 라이브러리 에서 매개 변수로 식별자가 지정 된 표준 시간대에 대 한 정보를 검색 합니다.This method retrieves information on the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. 사용 하 여 만든 표준 시간대 개체를 검색할 수 없는 CreateCustomTimeZone 메서드.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. 매개 destinationTimeZoneId 변수는 잘못 된 일치가 발생 하기 위해 표준 시간대의 식별자 길이에 정확히 일치 해야 하지만 그렇지 않은 경우에는 대/소문자를 구분 하지 않습니다. destinationTimeZoneId 즉, 표준 시간대 식별자와의 비교는 대/소문자를 구분 하지 않습니다.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

추가 정보

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.Converts a time to the time in another time zone based on the time zone's identifier.

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

매개 변수

dateTimeOffset
DateTimeOffset DateTimeOffset DateTimeOffset

변환할 날짜 및 시간입니다.The date and time to convert.

destinationTimeZoneId
String String String

대상 표준 시간대의 식별자입니다.The identifier of the destination time zone.

반환

대상 표준 시간대의 날짜와 시간입니다.The date and time in the destination time zone.

예외

destinationTimeZoneIdnull인 경우destinationTimeZoneId is null.

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.The time zone identifier was found but the registry data is corrupted.

프로세스에 표준 시간대 정보를 포함하는 레지스트리 키에서 읽는 데 필요한 권한이 없습니다.The process does not have the permissions required to read from the registry key that contains the time zone information.

destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.The destinationTimeZoneId identifier was not found on the local system.

설명

변환 수행 하는 경우는 ConvertTimeBySystemTimeZoneId 메서드는 모든 조정 규칙 적용에 적용 됩니다는 destinationTimeZoneId 표준 시간대입니다.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

이 오버 로드는 호출 하는 것과 동일 합니다 ConvertTime(DateTime, TimeZoneInfo) 메서드를 사용할 수 있다는 점을 제외 하면 개체 참조 하는 대신 해당 id에서 대상 표준 시간대를 지정할 수 있습니다.This overload is identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. 이 메서드를 해당 하는 표준 시간대 개체를 검색 하지 않고 시간을 변환 해야 하 고 변환 된 표준 또는 일광 절약 시간 인지 알 필요가 없을 때 가장 유용 합니다.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

때문에 dateTimeOffset 매개 변수가 나타내는 날짜 및 시간 함께 시간에서 Utc (협정 세계시) 오프셋, 모호한 시간 또는 잘못 된 시간을 나타낼 수 없습니다.Because the dateTimeOffset parameter represents a date and time together with that time's offset from Coordinated Universal Time (UTC), it cannot represent either an ambiguous time or an invalid time.

이 메서드는 Windows 시스템의 레지스트리에서 destinationTimeZoneId 매개 변수로 식별자가 지정 된 표준 시간대와 Linux 및 macos의 ICU 라이브러리 를 검색 합니다.This method retrieves the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. 사용 하 여 만든 표준 시간대 개체를 검색할 수 없는 CreateCustomTimeZone 메서드.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. 매개 destinationTimeZoneId 변수는 잘못 된 일치가 발생 하기 위해 표준 시간대의 식별자 길이에 정확히 일치 해야 하지만 그렇지 않은 경우에는 대/소문자를 구분 하지 않습니다. destinationTimeZoneId 즉, 표준 시간대 식별자와의 비교는 대/소문자를 구분 하지 않습니다.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

변환 된 dateTimeOffset 메서드는 대상 표준 시간대의 시간 값은 고려 대상 표준 시간대에서 실제로 모든 조정 규칙입니다.In converting the dateTimeOffset value to the time in the destination time zone, the method takes into account any adjustment rules in effect in the destination time zone.

경우 변환 dateTimeOffset 의 결과 보다 이전 날짜 및 시간 값 DateTimeOffset.MinValue 보다 이후 이거나 DateTimeOffset.MaxValue,이 메서드는 반환 DateTimeOffset.MinValue 또는 DateTimeOffset.MaxValue각각.If the conversion of dateTimeOffset results in a date and time value that is earlier than DateTimeOffset.MinValue or later than DateTimeOffset.MaxValue, this method returns DateTimeOffset.MinValue or DateTimeOffset.MaxValue, respectively.

추가 정보

ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String) ConvertTimeBySystemTimeZoneId(DateTime, String, String)

표준 시간대 식별자를 기반으로 하여 시간을 한 표준 시간대에서 다른 표준 시간대로 변환합니다.Converts a time from one time zone to another based on time zone identifiers.

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

매개 변수

dateTime
DateTime DateTime DateTime

변환할 날짜 및 시간입니다.The date and time to convert.

sourceTimeZoneId
String String String

소스 표준 시간대의 식별자입니다.The identifier of the source time zone.

destinationTimeZoneId
String String String

대상 표준 시간대의 식별자입니다.The identifier of the destination time zone.

반환

소스 표준 시간대의 dateTime 매개 변수에 해당하는 대상 표준 시간대의 날짜 및 시간입니다.The date and time in the destination time zone that corresponds to the dateTime parameter in the source time zone.

예외

dateTime 매개 변수의 Kind 속성이 원본 표준 시간대와 일치하지 않습니다.The Kind property of the dateTime parameter does not correspond to the source time zone.

또는-or- dateTime이 원본 표준 시간대에 적합하지 않은 시간입니다.dateTime is an invalid time in the source time zone.

sourceTimeZoneIdnull입니다.sourceTimeZoneId is null.

또는-or- destinationTimeZoneIdnull인 경우destinationTimeZoneId is null.

표준 시간대 식별자를 찾았지만 레지스트리 데이터가 손상되었습니다.The time zone identifiers were found, but the registry data is corrupted.

사용자에게 표준 시간대 정보를 포함하는 레지스트리 키에서 읽을 수 있는 권한이 없습니다.The user does not have the permissions required to read from the registry keys that hold time zone data.

sourceTimeZoneId 식별자가 로컬 시스템에 없습니다.The sourceTimeZoneId identifier was not found on the local system.

또는-or- destinationTimeZoneId 식별자가 로컬 시스템에 없습니다.The destinationTimeZoneId identifier was not found on the local system.

예제

다음 예제에서는 TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) 전 세계 8 개 도시에서 로컬 시스템 시간에 해당 하는 시간을 표시 하는 방법입니다.The following example uses the TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) method to display the time that corresponds to the local system time in eight cities of the world.

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"));
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 표준 시간대입니다.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

와 유사 하지만 합니다 TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) 메서드를 사용할 수 TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) 대신 해당 식별자를 사용 하 여 원본 및 대상 표준 시간대를 지정 하려면 해당 TimeZoneInfo 개체입니다.Although it is similar to the TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) method, you can use TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) to specify the source and destination time zones using their identifiers instead of their TimeZoneInfo objects. 이 메서드를 해당 하는 표준 시간대 개체를 검색 하지 않고 시간을 변환 해야 하 고 변환 된 표준 또는 일광 절약 시간 인지 알 필요가 없을 때 가장 유용 합니다.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

이 메서드는 Windows 시스템의 레지스트리 및 Linux 및 sourceTimeZoneId macos의 ICU 라이브러리 에서 식별자가 및 destinationTimeZoneId 매개 변수로 포함 된 표준 시간대를 검색 합니다.This method retrieves the time zones whose identifiers are the sourceTimeZoneId and destinationTimeZoneId parameters from the registry on Windows systems and from the ICU Library on Linux and macOS. 사용 하 여 생성 된 표준 시간대 개체를 검색할 수 없습니다는 CreateCustomTimeZone 메서드.It cannot retrieve time zone objects that are created using the CreateCustomTimeZone method.

값을 Kind 의 속성을 dateTime 매개 변수 일치 해야 합니다를 sourceTimeZoneId 매개 변수를 다음 표와 같이 합니다.The value of the Kind property of the dateTime parameter must correspond to the sourceTimeZoneId parameter, as the following table shows.

DateTime.Kind 값DateTime.Kind value sourceTimeZone 값sourceTimeZone value 메서드 동작Method behavior
DateTimeKind.Utc Equals TimeZoneInfo.Utc.Id합니다.Equals TimeZoneInfo.Utc.Id. 변환 dateTime 대상 표준 시간대의 시간입니다.Converts dateTime to the destination time zone's time.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id인 경우Does not equal TimeZoneInfo.Utc.Id. Throw는 ArgumentException합니다.Throws an ArgumentException.
DateTimeKind.Local Equals TimeZoneInfo.Local.Id합니다.Equals TimeZoneInfo.Local.Id. 변환 dateTime 대상 표준 시간대의 시간입니다.Converts dateTime to the destination time zone's time.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id인 경우Does not equal TimeZoneInfo.Local.Id. Throw는 ArgumentException합니다.Throws an ArgumentException.
DateTimeKind.Unspecified 모든 합니다.Any. 변환 dateTime 대상 표준 시간대의 시간입니다.Converts dateTime to the destination time zone's time.

사용 하기 때문에 대 한 호출에는 FindSystemTimeZoneById 메서드를 ConvertTimeBySystemTimeZoneId 에 해당 하는 표준 시간대를 찾을 대/소문자 구분 검색을 수행 하는 메서드 sourceTimeZoneIddestinationTimeZoneId합니다.Because it relies on calls to the FindSystemTimeZoneById method, the ConvertTimeBySystemTimeZoneId method performs a case-insensitive search to locate the time zones that correspond to sourceTimeZoneId and destinationTimeZoneId.

경우 값은 dateTime 매개 변수는 원본 표준 시간대에서 모호한 시간, 표준 시간으로 해석 됩니다.If the value of the dateTime parameter is an ambiguous time in the source time zone, it is interpreted as a standard time. 경우는 dateTime 매개 변수는 원본 표준 시간대에서 잘못 된 시간,이 메서드는 throw는 ArgumentException합니다.If the dateTime parameter is an invalid time in the source time zone, this method throws an ArgumentException.

합니다 Kind 반환 된 속성 DateTime 값으로 설정 됩니다 DateTimeKind.Unspecified 대상 표준 시간대는 utc (협정 세계시)이 아닌 경우에서 설정은 DateTimeKind.Utc합니다.The Kind property of the returned DateTime value is set to DateTimeKind.Unspecified unless the destination time zone is Coordinated Universal Time (UTC), in which case it is set to DateTimeKind.Utc.

추가 정보

적용 대상