TimeZoneInfo.ConvertTime メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
時刻を特定のタイム ゾーンの時刻に変換します。
オーバーロード
ConvertTime(DateTime, TimeZoneInfo) |
時刻を特定のタイム ゾーンの時刻に変換します。 |
ConvertTime(DateTimeOffset, TimeZoneInfo) |
時刻を特定のタイム ゾーンの時刻に変換します。 |
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) |
あるタイム ゾーンから別のタイム ゾーンに時刻を変換します。 |
ConvertTime(DateTime, TimeZoneInfo)
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
時刻を特定のタイム ゾーンの時刻に変換します。
public:
static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime
パラメーター
- dateTime
- DateTime
変換する日付と時刻。
- destinationTimeZone
- TimeZoneInfo
dateTime
を変換するタイム ゾーン。
戻り値
宛先タイム ゾーンの日付と時刻。
例外
dateTime
パラメーターの値は無効な時刻を表します。
destinationTimeZone
パラメーターの値は null
です。
例
次の例では、日付と時刻の値の配列を、米国とカナダの東部タイム ゾーンの時刻に変換します。 ソース タイム ゾーンがソース DateTime 値の DateTime.Kind プロパティに依存していることを示します。 また、2010 年 11 月 7 日午前 2 時にソースタイム ゾーンと宛先タイム ゾーンの両方でタイム ゾーン調整が行われるため、ConvertTime メソッドがタイム ゾーン調整を考慮に入れる方法についても説明します。
using System;
public class Example
{
public static void Main()
{
// Define times to be converted.
DateTime[] times = { new DateTime(2010, 1, 1, 0, 1, 0),
new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc),
new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local),
new DateTime(2010, 11, 6, 23, 30, 0),
new DateTime(2010, 11, 7, 2, 30, 0) };
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
TimeZoneInfo est;
try {
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
}
catch (TimeZoneNotFoundException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
catch (InvalidTimeZoneException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
// Display the current time zone name.
Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
// Convert each time in the array.
foreach (DateTime timeToConvert in times)
{
DateTime targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert,
timeToConvert.Kind, targetTime);
}
}
}
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
// Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
// Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
// Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
// Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
open System
// Define times to be converted.
let times =
[| DateTime(2010, 1, 1, 0, 1, 0)
DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc)
DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local)
DateTime(2010, 11, 6, 23, 30, 0)
DateTime(2010, 11, 7, 2, 30, 0) |]
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
// Display the current time zone name.
printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"
// Convert each time in the array.
for timeToConvert in times do
let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
printfn $"Converted {timeToConvert} {timeToConvert.Kind} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
// Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
// Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
// Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
// Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
Module Example
Public Sub Main()
' Define times to be converted.
Dim times() As Date = { #1/1/2010 12:01AM#, _
DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Utc), _
DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Local), _
#11/6/2010 11:30PM#, #11/7/2010 2:30AM# }
' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
Dim est As TimeZoneInfo
Try
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Catch e As TimeZoneNotFoundException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
Catch e As InvalidTimeZoneException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
End Try
' Display the current time zone name.
Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
Console.WriteLine()
' Convert each time in the array.
For Each timeToConvert As Date In times
Dim targetTime As Date = TimeZoneInfo.ConvertTime(timeToConvert, est)
Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, _
timeToConvert.Kind, targetTime)
Next
End Sub
End Module
' The example displays the following output:
' Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'
' Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
' Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
' Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
' Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
' Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
注釈
変換を実行するときに、ConvertTime(DateTimeOffset, TimeZoneInfo) メソッドは、destinationTimeZone
タイム ゾーンで有効な調整規則を適用します。
ConvertTime(DateTime, TimeZoneInfo) メソッドのこのオーバーロードは、次の表に示すように、dateTime
パラメーターの Kind プロパティの値からソース タイム ゾーンを決定します。
Kind プロパティ値 | ソース タイム ゾーン | メソッドの動作 |
---|---|---|
DateTimeKind.Local | Local | ローカル時刻を destinationTimeZone の時刻に変換します。 |
DateTimeKind.Utc | Utc | 協定世界時 (UTC) を destinationTimeZone の時刻に変換します。 |
DateTimeKind.Unspecified | Localであると見なされます。 | ローカル時刻を destinationTimeZone の時刻に変換します。 |
返される DateTime 値の Kind プロパティは、次の表に示すように設定されます。
条件 | Kind プロパティ値が返されました |
---|---|
destinationTimeZone は TimeZoneInfo.Utcです。 |
DateTimeKind.Utc |
destinationTimeZone は TimeZoneInfo.Localです。 |
DateTimeKind.Local |
その他のすべての日付と時刻の値と宛先のタイム ゾーン。 | DateTimeKind.Unspecified |
dateTime
パラメーターの値があいまいな現地時刻である場合は、標準時として解釈されます。
dateTime
パラメーターが無効なローカル時刻の場合、このメソッドは ArgumentExceptionをスローします。
dateTime
の変換の結果、日付と時刻の値が DateTime.MinValue より前または DateTime.MaxValueより後の場合、このメソッドは、それぞれ DateTime.MinValue または DateTime.MaxValueを返します。
ConvertTimeFromUtc メソッドと ConvertTimeToUtc メソッドを呼び出すことで、UTC との間で変換することもできます。
こちらもご覧ください
- タイム ゾーン間の時刻変換 を
する
適用対象
ConvertTime(DateTimeOffset, TimeZoneInfo)
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
時刻を特定のタイム ゾーンの時刻に変換します。
public:
static DateTimeOffset ConvertTime(DateTimeOffset dateTimeOffset, TimeZoneInfo ^ destinationTimeZone);
public static DateTimeOffset ConvertTime (DateTimeOffset dateTimeOffset, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTimeOffset * TimeZoneInfo -> DateTimeOffset
Public Shared Function ConvertTime (dateTimeOffset As DateTimeOffset, destinationTimeZone As TimeZoneInfo) As DateTimeOffset
パラメーター
- dateTimeOffset
- DateTimeOffset
変換する日付と時刻。
- destinationTimeZone
- TimeZoneInfo
dateTimeOffset
を変換するタイム ゾーン。
戻り値
宛先タイム ゾーンの日付と時刻。
例外
destinationTimeZone
パラメーターの値は null
です。
例
次の例では、DateTimeOffset 値の配列を米国とカナダの東部タイム ゾーンの時刻に変換します。 2010 年 11 月 7 日午前 2 時にソースタイム ゾーンと宛先タイム ゾーンの両方でタイム ゾーン調整が行われるため、ConvertTime メソッドがタイム ゾーン調整を考慮に入れる方法を示しています。
using System;
public class Example
{
public static void Main()
{
// Define times to be converted.
DateTime time1 = new DateTime(2010, 1, 1, 12, 1, 0);
DateTime time2 = new DateTime(2010, 11, 6, 23, 30, 0);
DateTimeOffset[] times = { new DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)),
new DateTimeOffset(time1, TimeSpan.Zero),
new DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)),
new DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) };
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
TimeZoneInfo est;
try {
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
}
catch (TimeZoneNotFoundException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
catch (InvalidTimeZoneException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
// Display the current time zone name.
Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
// Convert each time in the array.
foreach (DateTimeOffset timeToConvert in times)
{
DateTimeOffset targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime);
}
}
}
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
// Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
// Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
// Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
open System
// Define times to be converted.
let time1 = DateTime(2010, 1, 1, 12, 1, 0)
let time2 = DateTime(2010, 11, 6, 23, 30, 0)
let times =
[| DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset time1)
DateTimeOffset(time1, TimeSpan.Zero)
DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset time2)
DateTimeOffset(time2.AddHours 3, TimeZoneInfo.Local.GetUtcOffset(time2.AddHours 3)) |]
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
// Display the current time zone name.
printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"
// Convert each time in the array.
for timeToConvert in times do
let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
printfn $"Converted {timeToConvert} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
// Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
// Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
// Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
Module Example
Public Sub Main()
' Define times to be converted.
Dim time1 As Date = #1/1/2010 12:01AM#
Dim time2 As Date = #11/6/2010 11:30PM#
Dim times() As DateTimeOffset = { New DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)), _
New DateTimeOffset(time1, Timespan.Zero), _
New DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)), _
New DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) }
' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
Dim est As TimeZoneInfo
Try
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Catch e As TimeZoneNotFoundException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
Catch e As InvalidTimeZoneException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
End Try
' Display the current time zone name.
Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
Console.WriteLine()
' Convert each time in the array.
For Each timeToConvert As DateTimeOffset In times
Dim targetTime As DateTimeOffset = TimeZoneInfo.ConvertTime(timeToConvert, est)
Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime)
Next
End Sub
End Module
' The example displays the following output:
' Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'
' Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
' Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
' Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
' Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
注釈
変換を実行するときに、ConvertTime(DateTimeOffset, TimeZoneInfo) メソッドは、destinationTimeZone
タイム ゾーンで有効な調整規則を適用します。
このオーバーロードは、DateTimeOffset 値を最初のパラメーターとして受け取ることで、ConvertTime メソッドの他のオーバーロードとは異なります。 これにより、日付と時刻は、特定のタイム ゾーンの日付と時刻ではなく、協定世界時 (UTC) からのオフセットとして識別されます。 その結果、dateTimeOffset
パラメーターは、あいまいな時刻または無効な時刻を表すことができません。
dateTimeOffset
値を変換先のタイム ゾーンの時刻に変換する場合、このメソッドでは、ターゲット タイム ゾーンで有効な調整規則が考慮されます。
dateTimeOffset
の変換の結果、日付と時刻の値が DateTimeOffset.MinValue より前または DateTimeOffset.MaxValueより後の場合、このメソッドは、それぞれ DateTimeOffset.MinValue または DateTimeOffset.MaxValueを返します。
こちらもご覧ください
- タイム ゾーン間の時刻変換 を
する
適用対象
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
- ソース:
- TimeZoneInfo.cs
あるタイム ゾーンから別のタイム ゾーンに時刻を変換します。
public:
static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ sourceTimeZone, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, sourceTimeZone As TimeZoneInfo, destinationTimeZone As TimeZoneInfo) As DateTime
パラメーター
- dateTime
- DateTime
変換する日付と時刻。
- sourceTimeZone
- TimeZoneInfo
dateTime
のタイム ゾーン。
- destinationTimeZone
- TimeZoneInfo
dateTime
を変換するタイム ゾーン。
戻り値
ソース タイム ゾーンの dateTime
パラメーターに対応する、宛先タイム ゾーンの日付と時刻。
例外
dateTime
パラメーターの Kind プロパティは Localですが、sourceTimeZone
パラメーターは Localと等しくありません。
-又は-
dateTime
パラメーターの Kind プロパティは Utcですが、sourceTimeZone
パラメーターは Utcと等しくありません。
-又は-
dateTime
パラメーターは無効な時刻です (つまり、タイム ゾーンの調整規則のために存在しない時刻を表します)。
例
次の例は、ハワイ標準時から現地時刻に変換する ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) メソッドの使用を示しています。
DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
Console.WriteLine("{0} {1} is {2} local time.",
hwTime,
hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName,
TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.");
}
let hwTime = DateTime(2007, 02, 01, 08, 00, 00)
try
let hwZone = TimeZoneInfo.FindSystemTimeZoneById "Hawaiian Standard Time"
printfn $"{hwTime} {if hwZone.IsDaylightSavingTime hwTime then hwZone.DaylightName else hwZone.StandardName} is {TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local)} local time."
with
| :? TimeZoneNotFoundException ->
printfn "The registry does not define the Hawaiian Standard Time zone."
| :? InvalidTimeZoneException ->
printfn "Registry data on the Hawaiian Standard Time zone has been corrupted."
Dim hwTime As Date = #2/01/2007 8:00:00 AM#
Try
Dim hwZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time")
Console.WriteLine("{0} {1} is {2} local time.", _
hwTime, _
IIf(hwZone.IsDaylightSavingTime(hwTime), hwZone.DaylightName, hwZone.StandardName), _
TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local))
Catch e As TimeZoneNotFoundException
Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.")
Catch e As InvalidTimeZoneException
Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.")
End Try
注釈
変換を実行するときに、ConvertTime メソッドは、destinationTimeZone
タイム ゾーンで有効な調整規則を適用します。
次の表に示すように、dateTime
パラメーターの Kind プロパティの値は、sourceTimeZone
パラメーターに対応している必要があります。
DateTime.Kind 値 | sourceTimeZone 値 | メソッドの動作 |
---|---|---|
DateTimeKind.Utc | TimeZoneInfo.Utcに等しい。 |
dateTime を宛先タイム ゾーンの時刻に変換します。 |
DateTimeKind.Utc | TimeZoneInfo.Utcと等しくありません。 | ArgumentExceptionをスローします。 |
DateTimeKind.Local | TimeZoneInfo.Localに等しい。 |
dateTime を宛先タイム ゾーンの時刻に変換します。 |
DateTimeKind.Local | TimeZoneInfo.Localと等しくありません。 | ArgumentExceptionをスローします。 |
DateTimeKind.Unspecified | 任意。 |
dateTime を宛先タイム ゾーンの時刻に変換します。 |
ConvertTimeFromUtc メソッドと ConvertTimeToUtc メソッドを呼び出すことで、協定世界時 (UTC) との間で変換することもできます。
返される DateTime 値の Kind プロパティは、次の表に示すように設定されます。
条件 | Kind プロパティ値が返されました |
---|---|
destinationTimeZone 引数は TimeZoneInfo.Utcです。 |
DateTimeKind.Utc |
destinationTimeZone 引数は TimeZoneInfo.Localです。 |
DateTimeKind.Local |
その他のすべての日付と時刻の値、ソース タイム ゾーン、および宛先タイム ゾーン。 | DateTimeKind.Unspecified |
dateTime
パラメーターの値がソース タイム ゾーンのあいまいな時刻である場合は、標準時刻として解釈されます。
dateTime
パラメーターがソース タイム ゾーンの無効な時刻である場合、このメソッドは ArgumentExceptionをスローします。
dateTime
の変換の結果、日付と時刻の値が DateTime.MinValue より前または DateTime.MaxValueより後の場合、このメソッドは、それぞれ DateTime.MinValue または DateTime.MaxValueを返します。
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) メソッドは、dateTime
引数の DateTime.Kind プロパティが DateTimeKind.Local されているが、sourceTimeZone
引数が TimeZoneInfo.Localされていない場合、ArgumentException 例外をスローします。 ソース タイム ゾーンがローカル タイム ゾーンかユニバーサル タイム ゾーンかを判断するために、メソッドは、Equals(TimeZoneInfo) メソッドで値の等価性をテストするのではなく、参照の等価性をテストします。 ローカル タイム ゾーンを表し、FindSystemTimeZoneById メソッドを呼び出して取得される TimeZoneInfo オブジェクトは、TimeZoneInfo.Localとの参照の等価性を持たないことに注意してください。 さらに、ローカル タイム ゾーンまたはユニバーサル タイム ゾーンを表し、GetSystemTimeZones メソッドによって返されるコレクションを反復処理して取得される TimeZoneInfo オブジェクトは、TimeZoneInfo.Local または TimeZoneInfo.Utcとの参照の等価性を持っていません。 別の方法として、ConvertTimeBySystemTimeZoneId(DateTime, String, String) メソッドを呼び出すことができます。
こちらもご覧ください
- ConvertTimeBySystemTimeZoneId
- タイム ゾーン間の時刻変換 を
する
適用対象
.NET