Partager via


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Méthode

Définition

Convertit le temps universel coordonné (UTC, Universal Time Coordinated) en heure d'un fuseau horaire spécifié.

public:
 static DateTime ConvertTimeFromUtc(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTimeFromUtc (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTimeFromUtc : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTimeFromUtc (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime

Paramètres

dateTime
DateTime

Temps universel coordonné (UTC, Universal Time Coordinated).

destinationTimeZone
TimeZoneInfo

Fuseau horaire vers lequel convertir dateTime.

Retours

Date et heure dans le fuseau horaire de destination. Sa propriété Kind a la valeur Utc si destinationTimeZone a la valeur Utc ; sinon, sa propriété Kind a la valeur Unspecified.

Exceptions

La propriété Kind de dateTime a la valeur Local.

destinationTimeZone a la valeur null.

Exemples

L’exemple suivant convertit le temps universel coordonné (UTC) en heure centrale.

DateTime timeUtc = DateTime.UtcNow;
try
{
   TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
   DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
   Console.WriteLine("The date and time are {0} {1}.", 
                     cstTime, 
                     cstZone.IsDaylightSavingTime(cstTime) ?
                             cstZone.DaylightName : cstZone.StandardName);
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Central Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.");
}
let timeUtc = DateTime.UtcNow
try
    let cstZone = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
    let cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
    printfn $"The date and time are {cstTime} {if cstZone.IsDaylightSavingTime cstTime then cstZone.DaylightName else cstZone.StandardName}."
with
| :? TimeZoneNotFoundException ->
    printfn "The registry does not define the Central Standard Time zone."
| :? InvalidTimeZoneException ->
    printfn "Registry data on the Central Standard Time zone has been corrupted."
Dim timeUtc As Date = Date.UtcNow
Try
   Dim cstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
   Dim cstTime As Date = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
   Console.WriteLine("The date and time are {0} {1}.", _
                     cstTime, _
                     IIf(cstZone.IsDaylightSavingTime(cstTime), _
                         cstZone.DaylightName, cstZone.StandardName))
Catch e As TimeZoneNotFoundException
   Console.WriteLine("The registry does not define the Central Standard Time zone.")
Catch e As InvalidTimeZoneException
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.")
End Try

Remarques

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

Le comportement précis de cette méthode dépend de la valeur de la Kind propriété du paramètre, comme le dateTime montre le tableau suivant.

Propriété DateTime.Kind Conversion
DateTimeKind.Local Lève un ArgumentException.
DateTimeKind.Unspecified ou DateTimeKind.Utc Convertit à partir du temps universel coordonné (UTC).

Si la conversion de dateTime aboutit à 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.

S’applique à

Voir aussi