TimeZoneInfo.IsDaylightSavingTime 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.
Indique si la date et l'heure spécifiées se trouvent dans la plage d'heure d'été du fuseau horaire de l'objet TimeZoneInfo actuel.
Surcharges
IsDaylightSavingTime(DateTime) |
Indique si la date et l'heure spécifiées se trouvent dans la plage d'heure d'été du fuseau horaire de l'objet TimeZoneInfo actuel. |
IsDaylightSavingTime(DateTimeOffset) |
Indique si la date et l'heure spécifiées se trouvent dans la plage d'heure d'été du fuseau horaire de l'objet TimeZoneInfo actuel. |
IsDaylightSavingTime(DateTime)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
Indique si la date et l'heure spécifiées se trouvent dans la plage d'heure d'été du fuseau horaire de l'objet TimeZoneInfo actuel.
public:
bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime (DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean
Paramètres
- dateTime
- DateTime
Valeur de date et heure.
Retours
true
si le paramètre dateTime
est une heure d'été ; sinon, false
.
Exceptions
Exemples
L’exemple suivant définit une méthode nommée DisplayDateWithTimeZoneName
qui utilise la méthode pour déterminer s’il faut afficher le TimeZoneInfo.IsDaylightSavingTime nom d’heure standard d’un fuseau horaire ou le nom de l’heure d’été.
private void DisplayDateWithTimeZoneName(DateTime date1, TimeZoneInfo timeZone)
{
Console.WriteLine("The time is {0:t} on {0:d} {1}",
date1,
timeZone.IsDaylightSavingTime(date1) ?
timeZone.DaylightName : timeZone.StandardName);
}
// The example displays output similar to the following:
// The time is 1:00 AM on 4/2/2006 Pacific Standard Time
let displayDateWithTimeZoneName (date1: DateTime) (timeZone: TimeZoneInfo) =
printfn $"The time is {date1:t} on {date1:d} {if timeZone.IsDaylightSavingTime date1 then timeZone.DaylightName else timeZone.StandardName}"
// The example displays output similar to the following:
// The time is 1:00 AM on 4/2/2006 Pacific Standard Time
Private Sub DisplayDateWithTimeZoneName(date1 As Date, timeZone As TimeZoneInfo)
Console.WriteLine("The time is {0:t} on {0:d} {1}", _
date1, _
IIf(timeZone.IsDaylightSavingTime(date1), _
timezone.DaylightName, timezone.StandardName))
End Sub
' The example displays output similar to the following:
' The time is 1:00 AM on 4/2/2006 Pacific Standard Time
Remarques
La valeur de retour de TimeZoneInfo.IsDaylightSavingTime est affectée par la relation entre le fuseau horaire représenté par l’objet TimeZoneInfo et la Kind propriété du paramètre, comme le dateTime
montre le tableau suivant.
Objet TimeZoneInfo | Propriété DateTime.Kind | Résultats |
---|---|---|
TimeZoneInfo.Local | DateTimeKind.Local |
Détermine si dateTime est l’heure d’été. |
TimeZoneInfo.Local | DateTimeKind.Utc |
dateTime Convertit le temps universel coordonné (UTC) en heure locale et détermine s’il s’agit de l’heure d’été. |
TimeZoneInfo.Local | DateTimeKind.Unspecified |
Suppose que représente dateTime l’heure locale et détermine s’il s’agit de l’heure d’été. |
TimeZoneInfo.Utc |
DateTimeKind.Local , DateTimeKind.Unspecified ou DateTimeKind.Utc |
Retourne false (UTC ne prend pas en charge l’heure d’été). |
Tout autre TimeZoneInfo objet. | DateTimeKind.Local |
Convertit l’heure locale en heure équivalente de l’objet TimeZoneInfo , puis détermine si cette dernière est l’heure d’été. |
Tout autre TimeZoneInfo objet. | DateTimeKind.Utc |
Convertit UTC en heure équivalente de l’objet TimeZoneInfo , puis détermine si ce dernier est l’heure d’été. |
Tout autre TimeZoneInfo objet. | DateTimeKind.Unspecified |
Détermine si dateTime est l’heure d’été. |
Si le fuseau horaire représenté par l’objet ne prend pas en charge l’heure TimeZoneInfo d’été, la méthode retourne false
toujours . Un certain nombre de fuseaux horaires, y compris Utc, n’observent pas l’heure d’été. Pour déterminer si un fuseau horaire prend en charge l’heure d’été, récupérez la valeur de sa SupportsDaylightSavingTime propriété.
Si le dateTime
paramètre spécifie une heure ambiguë dans le fuseau horaire de l’objet actuel, la TimeZoneInfo.IsDaylightSavingTime méthode interprète dateTime
comme heure standard et retourne false
si sa Kind propriété est DateTimeKind.Local ou DateTimeKind.Unspecified. Si la Kind propriété est DateTimeKind.Utc, cette méthode sélectionne l’heure ambiguë correcte et indique s’il s’agit d’une heure d’été.
Étant donné que la TimeZoneInfo.IsDaylightSavingTime(DateTime) méthode peut retourner false
une date et une heure ambiguës (c’est-à-dire une date et une heure qui peuvent représenter une heure standard ou une heure d’été dans un fuseau horaire particulier), la TimeZoneInfo.IsAmbiguousTime(DateTime) méthode peut être associée à la IsDaylightSavingTime(DateTime) méthode pour déterminer si une heure peut être une heure d’été. Étant donné qu’une heure ambiguë peut être à la fois une heure d’été et une heure standard, la IsAmbiguousTime(DateTime) méthode peut être appelée en premier pour déterminer si une date et une heure peuvent être une heure d’été. Si la méthode retourne false
, la IsDaylightSavingTime(DateTime) méthode peut être appelée pour déterminer si la DateTime valeur est une heure d’été. L’exemple suivant illustre cette technique.
DateTime unclearDate = new DateTime(2007, 11, 4, 1, 30, 0);
// Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.",
TimeZoneInfo.Local.DisplayName,
unclearDate,
TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) ? "" : "not ");
// Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.",
TimeZoneInfo.Local.DisplayName,
unclearDate,
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) ? "" : "not ");
Console.WriteLine();
// Report time as DST if it is either ambiguous or DST.
if (TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) ||
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate))
Console.WriteLine("{0} may be daylight saving time in {1}.",
unclearDate, TimeZoneInfo.Local.DisplayName);
// The example displays the following output:
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
//
// 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
let unclearDate = DateTime(2007, 11, 4, 1, 30, 0)
// Test if time is ambiguous.
printfn $"""In the {TimeZoneInfo.Local.DisplayName}, {unclearDate} is {if TimeZoneInfo.Local.IsAmbiguousTime unclearDate then "" else "not "}ambiguous."""
// Test if time is DST.
printfn $"""In the {TimeZoneInfo.Local.DisplayName}, {unclearDate} is {if TimeZoneInfo.Local.IsDaylightSavingTime unclearDate then "" else "not "}daylight saving time.
"""
// Report time as DST if it is either ambiguous or DST.
if TimeZoneInfo.Local.IsAmbiguousTime unclearDate || TimeZoneInfo.Local.IsDaylightSavingTime unclearDate then
printfn $"{unclearDate} may be daylight saving time in {TimeZoneInfo.Local.DisplayName}."
// The example displays the following output:
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
//
// 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
Dim unclearDate As Date = #11/4/2007 1:30AM#
' Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.", _
TimeZoneInfo.Local.DisplayName, _
unclearDate, _
IIf(TimeZoneInfo.Local.IsAmbiguousTime(unclearDate), "", "not "))
' Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.", _
TimeZoneInfo.Local.DisplayName, _
unclearDate, _
IIf(TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate), "", "not "))
Console.WriteLine()
' Report time as DST if it is either ambiguous or DST.
If TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) OrElse _
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) Then
Console.WriteLine("{0} may be daylight saving time in {1}.", _
unclearDate, TimeZoneInfo.Local.DisplayName)
End If
' The example displays the following output:
' In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
' In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
'
' 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
Si le dateTime
paramètre spécifie une heure non valide, l’appel de méthode lève un ArgumentException si la valeur de la dateTime
propriété du Kind paramètre est DateTimeKind.Local; sinon, la méthode retourne false
.
Appelez la TimeZoneInfo.IsDaylightSavingTime méthode pour déterminer s’il faut utiliser la valeur d’un StandardName fuseau horaire ou sa DaylightName valeur lors de l’affichage du nom du fuseau horaire. Pour obtenir une illustration, consultez la section Exemple.
Voir aussi
S’applique à
IsDaylightSavingTime(DateTimeOffset)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
Indique si la date et l'heure spécifiées se trouvent dans la plage d'heure d'été du fuseau horaire de l'objet TimeZoneInfo actuel.
public:
bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean
Paramètres
- dateTimeOffset
- DateTimeOffset
Valeur de date et heure.
Retours
true
si le paramètre dateTimeOffset
est une heure d'été ; sinon, false
.
Remarques
La valeur de retour de TimeZoneInfo.IsDaylightSavingTime est affectée par la relation entre le fuseau horaire représenté par l’objet TimeZoneInfo et la Offset propriété du dateTimeOffset
paramètre. Si dateTimeOffset
ne correspond pas au décalage du fuseau horaire actuel par rapport au temps universel coordonné (UTC), la méthode convertit cette heure en heure dans le fuseau horaire actuel. Il détermine ensuite si cette date et cette heure sont une heure d’été.
Si le fuseau horaire représenté par l’objet ne prend pas en charge l’heure TimeZoneInfo d’été, la méthode retourne false
toujours . Pour déterminer si un fuseau horaire prend en charge l’heure d’été, récupérez la valeur de sa SupportsDaylightSavingTime propriété.