TimeZoneInfo.ConvertTime Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje czas na czas w określonej strefie czasowej.
Przeciążenia
ConvertTime(DateTime, TimeZoneInfo) |
Konwertuje czas na czas w określonej strefie czasowej. |
ConvertTime(DateTimeOffset, TimeZoneInfo) |
Konwertuje czas na czas w określonej strefie czasowej. |
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) |
Konwertuje czas z jednej strefy czasowej na inną. |
ConvertTime(DateTime, TimeZoneInfo)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Konwertuje czas na czas w określonej strefie czasowej.
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
Parametry
- dateTime
- DateTime
Data i godzina konwersji.
- destinationTimeZone
- TimeZoneInfo
Strefa czasowa, na która ma być konwertowana dateTime
.
Zwraca
Data i godzina w docelowej strefie czasowej.
Wyjątki
Wartość parametru dateTime
reprezentuje nieprawidłowy czas.
Wartość parametru destinationTimeZone
to null
.
Przykłady
Poniższy przykład konwertuje tablicę wartości daty i godziny na godziny we wschodniej strefie czasowej Stanów Zjednoczonych i Kanady. Pokazuje ona, że źródłowa strefa czasowa zależy od DateTime.Kind właściwości wartości źródłowej DateTime . Ilustruje również, że ConvertTime metoda uwzględnia korekty strefy czasowej, ponieważ dostosowanie strefy czasowej odbywa się zarówno w źródłowych, jak i docelowych strefach czasowych o godzinie 2:00 w dniu 7 listopada 2010 r.
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.
Uwagi
Podczas przeprowadzania konwersji ConvertTime(DateTimeOffset, TimeZoneInfo) metoda stosuje wszelkie reguły korekty obowiązujące w strefie czasowej destinationTimeZone
.
To przeciążenie ConvertTime(DateTime, TimeZoneInfo) metody określa źródłową strefę czasową z wartości dateTime
właściwości parametru Kind , jak pokazano w poniższej tabeli.
Wartość właściwości kind | Źródłowa strefa czasowa | Zachowanie metody |
---|---|---|
DateTimeKind.Local | Local | Konwertuje czas lokalny na czas w destinationTimeZone pliku . |
DateTimeKind.Utc | Utc | Konwertuje uniwersalny czas koordynowany (UTC) na czas w destinationTimeZone . |
DateTimeKind.Unspecified | Przyjmuje się, że ma wartość Local. | Konwertuje czas lokalny na czas w destinationTimeZone pliku . |
Właściwość Kind zwróconej DateTime wartości jest ustawiona, jak pokazano w poniższej tabeli.
Warunek | Zwrócona wartość właściwości Kind |
---|---|
Wartość destinationTimeZone to TimeZoneInfo.Utc. |
DateTimeKind.Utc |
Wartość destinationTimeZone to TimeZoneInfo.Local. |
DateTimeKind.Local |
Wszystkie inne wartości daty i godziny oraz docelowe strefy czasowe. | DateTimeKind.Unspecified |
Jeśli wartość parametru dateTime
jest niejednoznacznym czasem lokalnym, jest interpretowana jako czas standardowy.
dateTime
Jeśli parametr jest nieprawidłowy czas lokalny, ta metoda zgłasza błąd ArgumentException.
Jeśli konwersja dateTime
wyników ma wartość daty i godziny, która jest wcześniejsza niż lub nowsza niż DateTime.MaxValueDateTime.MinValue , ta metoda zwraca DateTime.MinValue wartość lub DateTime.MaxValue, odpowiednio.
Możesz również przeprowadzić konwersję na lub z czasu UTC, wywołując ConvertTimeFromUtc metody i ConvertTimeToUtc .
Zobacz też
Dotyczy
ConvertTime(DateTimeOffset, TimeZoneInfo)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Konwertuje czas na czas w określonej strefie czasowej.
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
Parametry
- dateTimeOffset
- DateTimeOffset
Data i godzina konwersji.
- destinationTimeZone
- TimeZoneInfo
Strefa czasowa, na która ma być konwertowana dateTime
.
Zwraca
Data i godzina w docelowej strefie czasowej.
Wyjątki
Wartość parametru destinationTimeZone
to null
.
Przykłady
Poniższy przykład konwertuje tablicę DateTimeOffset wartości na godziny w strefie czasowej wschodniej Stanów Zjednoczonych i Kanady. Ilustruje to, że ConvertTime metoda uwzględnia korekty strefy czasowej, ponieważ dostosowanie strefy czasowej odbywa się zarówno w źródłowych, jak i docelowych strefach czasowych o godzinie 2:00 w dniu 7 listopada 2010 r.
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.
Uwagi
Podczas przeprowadzania konwersji ConvertTime(DateTimeOffset, TimeZoneInfo) metoda stosuje wszelkie reguły korekty obowiązujące w strefie czasowej destinationTimeZone
.
To przeciążenie różni się od innych przeciążeń ConvertTime metody, akceptując DateTimeOffset wartość jako pierwszy parametr. Pozwala to zidentyfikować datę i godzinę jako przesunięcie od uniwersalnego czasu koordynowanego (UTC), a nie datę i godzinę w określonej strefie czasowej. W związku dateTimeOffset
z tym parametr nie może reprezentować niejednoznacznego czasu lub nieprawidłowego czasu.
W konwertowaniu dateTimeOffset
wartości na czas w docelowej strefie czasowej ta metoda uwzględnia wszelkie reguły korekty obowiązujące w docelowej strefie czasowej.
Jeśli konwersja dateTimeOffset
wyników ma wartość daty i godziny, która jest wcześniejsza niż lub nowsza niż DateTimeOffset.MaxValueDateTimeOffset.MinValue , ta metoda zwraca DateTimeOffset.MinValue wartość lub DateTimeOffset.MaxValue, odpowiednio.
Zobacz też
Dotyczy
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Konwertuje czas z jednej strefy czasowej na inną.
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
Parametry
- dateTime
- DateTime
Data i godzina konwersji.
- sourceTimeZone
- TimeZoneInfo
Strefa czasowa .dateTime
- destinationTimeZone
- TimeZoneInfo
Strefa czasowa, na która ma być konwertowana dateTime
.
Zwraca
Data i godzina w docelowej strefie czasowej, która odpowiada parametrowi dateTime
w źródłowej strefie czasowej.
Wyjątki
Właściwość Kind parametru dateTime
to Local, ale sourceTimeZone
parametr nie jest równy Local.
-lub-
Właściwość Kind parametru dateTime
to Utc, ale sourceTimeZone
parametr nie jest równy Utc.
-lub-
Parametr dateTime
jest nieprawidłowym czasem (oznacza to, że reprezentuje czas, który nie istnieje z powodu reguł korekty strefy czasowej).
Parametr sourceTimeZone
ma wartość null
.
-lub-
Parametr destinationTimeZone
ma wartość null
.
Przykłady
Poniższy przykład ilustruje użycie metody do konwersji ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) z hawajskiego czasu standardowego na czas lokalny.
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
Uwagi
Podczas przeprowadzania konwersji ConvertTime metoda stosuje wszelkie reguły korekty obowiązujące w strefie czasowej destinationTimeZone
.
Wartość Kind właściwości parametru dateTime
musi odpowiadać parametrowi sourceTimeZone
, jak pokazano w poniższej tabeli.
Wartość DateTime.Kind | sourceTimeZone wartość | Zachowanie metody |
---|---|---|
DateTimeKind.Utc | Równa się TimeZoneInfo.Utc. | Konwertuje dateTime czas docelowej strefy czasowej. |
DateTimeKind.Utc | Nie równa TimeZoneInfo.Utcsię . | Zgłasza element ArgumentException. |
DateTimeKind.Local | Równa się TimeZoneInfo.Local. | Konwertuje dateTime czas docelowej strefy czasowej. |
DateTimeKind.Local | Nie równa TimeZoneInfo.Localsię . | Zgłasza element ArgumentException. |
DateTimeKind.Unspecified | Wszelki. | Konwertuje dateTime czas docelowej strefy czasowej. |
Możesz również przekonwertować na lub z uniwersalnego czasu koordynowanego (UTC), wywołując ConvertTimeFromUtc metody i ConvertTimeToUtc .
Właściwość Kind zwróconej DateTime wartości jest ustawiona, jak pokazano w poniższej tabeli.
Warunek | Zwrócona wartość właściwości Kind |
---|---|
Argumentem destinationTimeZone jest TimeZoneInfo.Utc. |
DateTimeKind.Utc |
Argumentem destinationTimeZone jest TimeZoneInfo.Local. |
DateTimeKind.Local |
Wszystkie inne wartości daty i godziny, źródłowe strefy czasowe i docelowe strefy czasowe. | DateTimeKind.Unspecified |
Jeśli wartość parametru dateTime
jest niejednoznacznym czasem w źródłowej strefie czasowej, jest interpretowana jako czas standardowy.
dateTime
Jeśli parametr jest nieprawidłowy czas w źródłowej strefie czasowej, ta metoda zgłasza błąd ArgumentException.
Jeśli konwersja dateTime
wyników ma wartość daty i godziny, która jest wcześniejsza niż lub nowsza niż DateTime.MaxValueDateTime.MinValue , ta metoda zwraca DateTime.MinValue wartość lub DateTime.MaxValue, odpowiednio.
Metoda ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) zgłasza ArgumentException wyjątek, jeśli DateTime.Kind właściwość argumentu dateTime
to DateTimeKind.Local , ale sourceTimeZone
argumentem nie TimeZoneInfo.Localjest . Aby określić, czy źródłowa strefa czasowa jest lokalną strefą czasową, czy uniwersalną strefą czasową, metoda testuje równość odwołań zamiast testować równość wartości za Equals(TimeZoneInfo) pomocą metody . Należy pamiętać, że TimeZoneInfo obiekty reprezentujące lokalną strefę czasową i pobierane przez wywołanie FindSystemTimeZoneById metody nie mają równości odwołań z TimeZoneInfo.Local. Ponadto TimeZoneInfo obiekty reprezentujące lokalną lub uniwersalną strefę czasową, które są pobierane przez iterację kolekcji zwracanej przez GetSystemTimeZones metodę, nie mają równości odwołań do TimeZoneInfo.Local elementu lub TimeZoneInfo.Utc. Alternatywnie można wywołać metodę ConvertTimeBySystemTimeZoneId(DateTime, String, String) .
Zobacz też
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla