TimeZoneInfo.ConvertTimeBySystemTimeZoneId メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ある時刻をタイム ゾーン 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。
戻り値
変換先タイム ゾーンでの日付と時刻。
例外
destinationTimeZoneId
が null
です。
タイム ゾーン 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 プロパティの値が返されました |
---|---|
destinationTimeZone が TimeZoneInfo.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。
戻り値
変換先タイム ゾーンでの日付と時刻。
例外
destinationTimeZoneId
が null
です。
タイム ゾーン 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
パラメーターに対応する、変換先タイム ゾーンでの日付と時刻。
例外
タイム ゾーン 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設定されます。
こちらもご覧ください
適用対象
.NET