TimeZoneInfo.ConvertTimeBySystemTimeZoneId 메서드

정의

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

오버로드

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

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

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

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
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime

매개 변수

dateTime
DateTime

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

destinationTimeZoneId
String

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

반환

DateTime

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

예외

destinationTimeZoneId이(가) null인 경우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) 개체 참조가 아니라 식별자로 대상 표준 시간대를 지정할 수 있다는 점을 제외 하 고는 메서드 호출과 거의 동일 합니다.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.

이 메서드는 destinationTimeZoneId Windows 시스템의 레지스트리 및 Linux 및 macOS의 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)

표준 시간대 식별자를 기반으로 하여 시간을 다른 표준 시간대의 시간으로 변환합니다.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
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset

매개 변수

dateTimeOffset
DateTimeOffset

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

destinationTimeZoneId
String

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

반환

DateTimeOffset

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

예외

destinationTimeZoneId이(가) null인 경우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) . 단, 개체 참조가 아닌 식별자로 대상 표준 시간대를 지정할 수 있습니다.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.

이 메서드는 destinationTimeZoneId Windows 시스템의 레지스트리에서 매개 변수로 식별자가 지정 된 표준 시간대와 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)

표준 시간대 식별자를 기반으로 하여 시간을 한 표준 시간대에서 다른 표준 시간대로 변환합니다.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
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime

매개 변수

dateTime
DateTime

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

sourceTimeZoneId
String

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

destinationTimeZoneId
String

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

반환

DateTime

소스 표준 시간대의 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.

sourceTimeZoneId이(가) null인 경우sourceTimeZoneId is null.

또는-or- destinationTimeZoneId이(가) null인 경우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.

이 메서드는 sourceTimeZoneId destinationTimeZoneId Windows 시스템의 레지스트리 및 Linux 및 Macos의 ICU 라이브러리 에서 식별자가 및 매개 변수로 포함 된 표준 시간대를 검색 합니다.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.IdEquals 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.IdEquals 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 및에 해당 하는 표준 시간대를 찾기 위해 대/소문자를 구분 하지 않는 검색을 수행 합니다 sourceTimeZoneId destinationTimeZoneId .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.

추가 정보

적용 대상