TimeZoneInfo.ConvertTimeBySystemTimeZoneId メソッド

定義

ある時刻をタイム ゾーン ID に基づいて別のタイム ゾーンの時刻に変換します。

オーバーロード

ConvertTimeBySystemTimeZoneId(DateTime, String)

ある時刻をタイム ゾーン ID に基づいて別のタイム ゾーンの時刻に変換します。

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

ある時刻をタイム ゾーン ID に基づいて別のタイム ゾーンの時刻に変換します。

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

あるタイム ゾーンの時刻を別のタイム ゾーンの時刻にタイム ゾーン ID に基づいて変換します。

ConvertTimeBySystemTimeZoneId(DateTime, String)

ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs

ある時刻をタイム ゾーン ID に基づいて別のタイム ゾーンの時刻に変換します。

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

変換先タイム ゾーンの ID。

戻り値

変換先タイム ゾーンでの日付と時刻。

例外

destinationTimeZoneIdnullです。

タイム ゾーン ID が見つかりましたが、レジストリ データが壊れています。

プロセスには、タイム ゾーン情報を格納するレジストリ キーからの読み取りに必要なアクセス許可がありません。

destinationTimeZoneId ID がローカル システムで見つかりませんでした。

注釈

変換を実行するときに、 メソッドは ConvertTimeBySystemTimeZoneId 、タイム ゾーンで有効な調整規則を destinationTimeZoneId 適用します。

このオーバーロードは、 メソッドの ConvertTime(DateTime, TimeZoneInfo) 呼び出しとほぼ同じですが、オブジェクト参照ではなく識別子で宛先タイム ゾーンを指定できる点が除きます。 このメソッドは、それに対応するタイム ゾーン オブジェクトを取得せずに時刻を変換する必要があり、変換された時刻が標準時間か夏時間かを知る必要がない場合に最も便利です。

メソッドはConvertTimeBySystemTimeZoneId(DateTime, String)、次の表に示すように、パラメーターKindの プロパティのdateTime値からソース タイム ゾーンを決定します。

Kind プロパティの値 ソース タイム ゾーン メソッドの動作
DateTimeKind.Local Local ローカル時刻を の destinationTimeZone時刻に変換します。
DateTimeKind.Utc Utc 協定世界時 (UTC) を の destinationTimeZone時刻に変換します。
DateTimeKind.Unspecified と見なされます Local ローカル時刻を の destinationTimeZone時刻に変換します。

返されるDateTime値の プロパティはKind、次の表に示すように設定されます。

条件 Kind プロパティの値が返されました
destinationTimeZoneTimeZoneInfo.Utc.Id です。 DateTimeKind.Utc
その他の destinationTimeZone 値。 DateTimeKind.Unspecified

パラメーターの値が dateTime あいまいな現地時刻の場合は、標準時として解釈されます。 パラメーターが dateTime 無効なローカル時刻の場合、このメソッドは を ArgumentExceptionスローします。

の変換の結果、より前またはそれより後DateTime.MinValueDateTime.MaxValueの日付と時刻のdateTime値が返される場合、このメソッドは、それぞれ または DateTime.MaxValueを返DateTime.MinValueします。

このメソッドは、Windows システムのレジストリから、および Linux および macOS 上の ICU ライブラリから、 パラメーターでdestinationTimeZoneId指定された識別子を持つタイム ゾーンに関する情報を取得します。 メソッドを使用して作成されたタイム ゾーン オブジェクトを CreateCustomTimeZone 取得することはできません。 パラメーターは destinationTimeZoneId 、タイム ゾーンの識別子の長さに正確に対応する必要がありますが、一致が正常に行われるには、大文字と小文字は区別されません。つまり、タイム ゾーン識別子との比較 destinationTimeZoneId では大文字と小文字が区別されません。

こちらもご覧ください

適用対象

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs

ある時刻をタイム ゾーン ID に基づいて別のタイム ゾーンの時刻に変換します。

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

変換先タイム ゾーンの ID。

戻り値

変換先タイム ゾーンでの日付と時刻。

例外

destinationTimeZoneIdnullです。

タイム ゾーン ID が見つかりましたが、レジストリ データが壊れています。

プロセスには、タイム ゾーン情報を格納するレジストリ キーからの読み取りに必要なアクセス許可がありません。

destinationTimeZoneId ID がローカル システムで見つかりませんでした。

注釈

変換を実行するときに、 メソッドは ConvertTimeBySystemTimeZoneId 、タイム ゾーンで有効な調整規則を destinationTimeZoneId 適用します。

このオーバーロードは、 メソッドの ConvertTime(DateTimeOffset, TimeZoneInfo) 呼び出しと同じですが、オブジェクト参照ではなく識別子で宛先タイム ゾーンを指定できる点が除きます。 このメソッドは、それに対応するタイム ゾーン オブジェクトを取得せずに時刻を変換する必要があり、変換された時刻が標準時間か夏時間かを知る必要がない場合に最も便利です。

パラメーターは dateTimeOffset 、世界協定時刻 (UTC) からのその時刻のオフセットと共に日付と時刻を表すので、あいまいな時刻または無効な時刻を表すことはできません。

このメソッドは、Windows システムのレジストリから、および Linux および macOS の ICU ライブラリから、 パラメーターでdestinationTimeZoneId指定された識別子を持つタイム ゾーンを取得します。 メソッドを使用して作成されたタイム ゾーン オブジェクトを CreateCustomTimeZone 取得することはできません。 パラメーターは destinationTimeZoneId 、タイム ゾーンの識別子の長さに正確に対応する必要がありますが、一致が正常に行われるには、大文字と小文字は区別されません。つまり、タイム ゾーン識別子との比較 destinationTimeZoneId では大文字と小文字が区別されません。

この値を dateTimeOffset 変換先のタイム ゾーンの時刻に変換する場合、メソッドは宛先タイム ゾーンで有効な調整規則を考慮します。

の変換の結果、より前またはそれより後DateTimeOffset.MinValueDateTimeOffset.MaxValueの日付と時刻のdateTimeOffset値が返される場合、このメソッドは、それぞれ または DateTimeOffset.MaxValueを返DateTimeOffset.MinValueします。

こちらもご覧ください

適用対象

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs
ソース:
TimeZoneInfo.cs

あるタイム ゾーンの時刻を別のタイム ゾーンの時刻にタイム ゾーン ID に基づいて変換します。

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

変換元タイム ゾーンの ID。

destinationTimeZoneId
String

変換先タイム ゾーンの ID。

戻り値

変換元タイム ゾーンでの dateTime パラメーターに対応する、変換先タイム ゾーンでの日付と時刻。

例外

dateTime パラメーターの Kind プロパティは変換元タイム ゾーンと対応していません。

- または -

dateTime はソース タイム ゾーンで無効な時間です。

sourceTimeZoneIdnullです。

または

destinationTimeZoneIdnullです。

タイム ゾーン ID が見つかりましたが、レジストリ データが破損しています。

ユーザーには、タイム ゾーン データが格納されているレジストリ キーからの読み取りに必要な権限がありません。

sourceTimeZoneId ID がローカル システムで見つかりませんでした。

- または -

destinationTimeZoneId ID がローカル システムで見つかりませんでした。

次の例では、 メソッドを 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 指定できます。 このメソッドは、それに対応するタイム ゾーン オブジェクトを取得せずに時刻を変換する必要があり、変換された時刻が標準時間か夏時間かを知る必要がない場合に最も便利です。

このメソッドは、Windows システムのレジストリから、および Linux および destinationTimeZoneId macOS の ICU ライブラリから、 および パラメーターである識別子sourceTimeZoneIdを持つタイム ゾーンを取得します。 メソッドを使用して作成されたタイム ゾーン オブジェクトを CreateCustomTimeZone 取得することはできません。

パラメーターの プロパティの Kind 値は、次の dateTime 表に示すように、 パラメーターに sourceTimeZoneId 対応している必要があります。

DateTime.Kind 値 sourceTimeZone 値 メソッドの動作
DateTimeKind.Utc TimeZoneInfo.Utc.Id等しい。 宛先タイム ゾーンの時刻に変換 dateTime します。
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Idです。 をスローします ArgumentException
DateTimeKind.Local TimeZoneInfo.Local.Id等しい。 宛先タイム ゾーンの時刻に変換 dateTime します。
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Idです。 をスローします ArgumentException
DateTimeKind.Unspecified 任意。 宛先タイム ゾーンの時刻に変換 dateTime します。

メソッドの呼び出しにFindSystemTimeZoneById依存するため、 ConvertTimeBySystemTimeZoneId メソッドは 大文字と小文字を区別しない検索を実行して、 と destinationTimeZoneIdに対応するタイム ゾーンをsourceTimeZoneId検索します。

パラメーターの dateTime 値がソース タイム ゾーンのあいまいな時刻である場合は、標準時刻として解釈されます。 パラメーターが dateTime ソース タイム ゾーンの無効な時刻である場合、このメソッドは を ArgumentExceptionスローします。

戻りDateTime値の プロパティはKind、変換先のタイム ゾーンが協定世界時 (UTC) でない限り に設定DateTimeKind.Unspecifiedされ、その場合は にDateTimeKind.Utc設定されます。

こちらもご覧ください

適用対象