TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.