TimeZoneInfo.ConvertTime Méthode

Définition

Convertit une heure en heure dans un fuseau horaire particulier.

Surcharges

ConvertTime(DateTime, TimeZoneInfo)

Convertit une heure en heure dans un fuseau horaire particulier.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Convertit une heure en heure dans un fuseau horaire particulier.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Convertit une heure d’un fuseau horaire à un autre.

ConvertTime(DateTime, TimeZoneInfo)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Convertit une heure en heure dans un fuseau horaire particulier.

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

Paramètres

dateTime
DateTime

Date et heure à convertir.

destinationTimeZone
TimeZoneInfo

Fuseau horaire vers lequel convertir dateTime.

Retours

Date et heure dans le fuseau horaire de destination.

Exceptions

La valeur du paramètre dateTime représente une heure non valide.

La valeur du paramètre destinationTimeZone est null.

Exemples

L’exemple suivant convertit un tableau de valeurs de date et d’heure en heures dans le fuseau horaire est des États-Unis et du Canada. Il indique que le fuseau horaire source dépend de la propriété DateTime.Kind de la valeur DateTime source. Il illustre également que la méthode ConvertTime prend en compte les ajustements de fuseau horaire, car un ajustement de fuseau horaire se produit dans les fuseaux horaires source et de destination à 2 h 00 le 7 novembre 2010.

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.

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTime(DateTimeOffset, TimeZoneInfo) applique toutes les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZone.

Cette surcharge de la méthode ConvertTime(DateTime, TimeZoneInfo) détermine le fuseau horaire source à partir de la valeur de la propriété Kind du paramètre dateTime, comme le montre le tableau suivant.

Valeur de propriété Kind Fuseau horaire source Comportement de la méthode
DateTimeKind.Local Local Convertit l’heure locale en heure dans destinationTimeZone.
DateTimeKind.Utc Utc Convertit le temps universel coordonné (UTC) en heure en destinationTimeZone.
DateTimeKind.Unspecified Supposé être Local. Convertit l’heure locale en heure dans destinationTimeZone.

La propriété Kind de la valeur de DateTime retournée est définie comme indiqué dans le tableau suivant.

Condition Valeur de la propriété Kind retournée
Le destinationTimeZone est TimeZoneInfo.Utc. DateTimeKind.Utc
Le destinationTimeZone est TimeZoneInfo.Local. DateTimeKind.Local
Toutes les autres valeurs de date et d’heure et les fuseaux horaires de destination. DateTimeKind.Unspecified

Si la valeur du paramètre dateTime est une heure locale ambiguë, elle est interprétée comme une heure standard. Si le paramètre dateTime est une heure locale non valide, cette méthode lève une ArgumentException.

Si la conversion de dateTime entraîne une valeur de date et d’heure antérieure à DateTime.MinValue ou ultérieure à DateTime.MaxValue, cette méthode retourne DateTime.MinValue ou DateTime.MaxValue, respectivement.

Vous pouvez également effectuer une conversion vers ou depuis UTC en appelant les méthodes ConvertTimeFromUtc et ConvertTimeToUtc.

Voir aussi

S’applique à

ConvertTime(DateTimeOffset, TimeZoneInfo)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Convertit une heure en heure dans un fuseau horaire particulier.

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

Paramètres

dateTimeOffset
DateTimeOffset

Date et heure à convertir.

destinationTimeZone
TimeZoneInfo

Fuseau horaire vers lequel convertir dateTimeOffset.

Retours

Date et heure dans le fuseau horaire de destination.

Exceptions

La valeur du paramètre destinationTimeZone est null.

Exemples

L’exemple suivant convertit un tableau de valeurs de DateTimeOffset en heures dans le fuseau horaire est des États-Unis et du Canada. Il illustre que la méthode ConvertTime prend en compte les ajustements de fuseau horaire, car un ajustement de fuseau horaire se produit à la fois dans les fuseaux horaires source et de destination à 2 h 00 le 7 novembre 2010.

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.

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTime(DateTimeOffset, TimeZoneInfo) applique toutes les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZone.

Cette surcharge diffère des autres surcharges de la méthode ConvertTime en acceptant une valeur DateTimeOffset comme premier paramètre. Cela identifie la date et l’heure comme décalage de l’heure universelle coordonnée (UTC) plutôt que comme date et heure dans un fuseau horaire particulier. Par conséquent, le paramètre dateTimeOffset ne peut pas représenter une heure ambiguë ou une heure non valide.

Lors de la conversion de la valeur dateTimeOffset en heure dans le fuseau horaire de destination, cette méthode prend en compte toutes les règles d’ajustement en vigueur dans le fuseau horaire de destination.

Si la conversion de dateTimeOffset entraîne une valeur de date et d’heure antérieure à DateTimeOffset.MinValue ou ultérieure à DateTimeOffset.MaxValue, cette méthode retourne DateTimeOffset.MinValue ou DateTimeOffset.MaxValue, respectivement.

Voir aussi

S’applique à

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Convertit une heure d’un fuseau horaire à un autre.

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

Paramètres

dateTime
DateTime

Date et heure à convertir.

sourceTimeZone
TimeZoneInfo

Fuseau horaire de dateTime.

destinationTimeZone
TimeZoneInfo

Fuseau horaire vers lequel convertir dateTime.

Retours

Date et heure dans le fuseau horaire de destination qui correspond au paramètre dateTime dans le fuseau horaire source.

Exceptions

La propriété Kind du paramètre dateTime est Local, mais le paramètre sourceTimeZone n’est pas égal Local.

-ou-

La propriété Kind du paramètre dateTime est Utc, mais le paramètre sourceTimeZone n’est pas égal Utc.

-ou-

Le paramètre dateTime est un temps non valide (autrement dit, il représente une heure qui n’existe pas en raison des règles d’ajustement d’un fuseau horaire).

Le paramètre sourceTimeZone est null.

-ou-

Le paramètre destinationTimeZone est null.

Exemples

L’exemple suivant illustre l’utilisation de la méthode ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) pour passer de l’heure standard hawaïenne à l’heure locale.

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

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTime applique toutes les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZone.

La valeur de la propriété Kind du paramètre dateTime doit correspondre au paramètre sourceTimeZone, comme le montre le tableau suivant.

Valeur DateTime.Kind valeur sourceTimeZone Comportement de la méthode
DateTimeKind.Utc Est égal à TimeZoneInfo.Utc. Convertit dateTime en heure du fuseau horaire de destination.
DateTimeKind.Utc N’est pas égal TimeZoneInfo.Utc. Lève une ArgumentException.
DateTimeKind.Local Est égal à TimeZoneInfo.Local. Convertit dateTime en heure du fuseau horaire de destination.
DateTimeKind.Local N’est pas égal TimeZoneInfo.Local. Lève une ArgumentException.
DateTimeKind.Unspecified Quelconque. Convertit dateTime en heure du fuseau horaire de destination.

Vous pouvez également effectuer une conversion en temps universel coordonné (UTC) ou en appelant les méthodes ConvertTimeFromUtc et ConvertTimeToUtc.

La propriété Kind de la valeur de DateTime retournée est définie comme indiqué dans le tableau suivant.

Condition Valeur de la propriété Kind retournée
L’argument destinationTimeZone est TimeZoneInfo.Utc. DateTimeKind.Utc
L’argument destinationTimeZone est TimeZoneInfo.Local. DateTimeKind.Local
Toutes les autres valeurs de date et d’heure, les fuseaux horaires sources et les fuseaux horaires de destination. DateTimeKind.Unspecified

Si la valeur du paramètre dateTime est une heure ambiguë dans le fuseau horaire source, elle est interprétée comme une heure standard. Si le paramètre dateTime est une heure non valide dans le fuseau horaire source, cette méthode lève une ArgumentException.

Si la conversion de dateTime entraîne une valeur de date et d’heure antérieure à DateTime.MinValue ou ultérieure à DateTime.MaxValue, cette méthode retourne DateTime.MinValue ou DateTime.MaxValue, respectivement.

La méthode ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) lève une exception ArgumentException si la propriété DateTime.Kind de l’argument dateTime est DateTimeKind.Local, mais que l’argument sourceTimeZone n’est pas TimeZoneInfo.Local. Pour déterminer si le fuseau horaire source est le fuseau horaire local ou le fuseau horaire universel, la méthode teste l’égalité de référence au lieu de tester l’égalité des valeurs avec la méthode Equals(TimeZoneInfo). Notez que TimeZoneInfo objets qui représentent le fuseau horaire local et qui sont récupérés en appelant la méthode FindSystemTimeZoneById n’ont pas d’égalité référentielle avec TimeZoneInfo.Local. En outre, TimeZoneInfo objets qui représentent le fuseau horaire local ou universel et qui sont récupérés en itérant la collection retournée par la méthode GetSystemTimeZones n’ont pas d’égalité référentielle avec TimeZoneInfo.Local ou TimeZoneInfo.Utc. En guise d’alternative, vous pouvez appeler la méthode ConvertTimeBySystemTimeZoneId(DateTime, String, String).

Voir aussi

S’applique à