TimeZoneInfo.IsDaylightSavingTime Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica se una data e un'ora specificate rientrano nell'intervallo dell'ora legale per il fuso orario dell'oggetto TimeZoneInfo corrente.
Overload
IsDaylightSavingTime(DateTime) |
Indica se una data e un'ora specificate rientrano nell'intervallo dell'ora legale per il fuso orario dell'oggetto TimeZoneInfo corrente. |
IsDaylightSavingTime(DateTimeOffset) |
Indica se una data e un'ora specificate rientrano nell'intervallo dell'ora legale per il fuso orario dell'oggetto TimeZoneInfo corrente. |
IsDaylightSavingTime(DateTime)
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
Indica se una data e un'ora specificate rientrano nell'intervallo dell'ora legale per il fuso orario dell'oggetto TimeZoneInfo corrente.
public:
bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime (DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean
Parametri
- dateTime
- DateTime
Valore di data e ora.
Restituisce
true
se il parametro dateTime
è un'ora legale; in caso contrario, false
.
Eccezioni
Esempio
Nell'esempio seguente viene definito un metodo denominato DisplayDateWithTimeZoneName
che usa il metodo per determinare se visualizzare il TimeZoneInfo.IsDaylightSavingTime nome dell'ora legale o il nome dell'ora legale del fuso orario di un fuso orario.
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
Commenti
Il valore restituito di TimeZoneInfo.IsDaylightSavingTime è interessato dalla relazione tra il fuso orario rappresentato dall'oggetto TimeZoneInfo e la Kind proprietà del dateTime
parametro, come illustrato nella tabella seguente.
Oggetto TimeZoneInfo | Proprietà DateTime.Kind | Risultato |
---|---|---|
TimeZoneInfo.Local | DateTimeKind.Local |
Determina se dateTime è l'ora legale. |
TimeZoneInfo.Local | DateTimeKind.Utc |
Converte dateTime dall'ora UTC (Coordinated Universal Time) all'ora locale e determina se è ora legale. |
TimeZoneInfo.Local | DateTimeKind.Unspecified |
Presuppone che rappresenta dateTime l'ora locale e determina se è l'ora legale. |
TimeZoneInfo.Utc |
DateTimeKind.Local , DateTimeKind.Unspecified o DateTimeKind.Utc |
Restituisce false (UTC non supporta l'ora legale). |
Qualsiasi altro TimeZoneInfo oggetto. | DateTimeKind.Local |
Converte l'ora locale nell'ora equivalente dell'oggetto e quindi determina se quest'ultimo è l'ora TimeZoneInfo legale. |
Qualsiasi altro TimeZoneInfo oggetto. | DateTimeKind.Utc |
Converte UTC nell'ora equivalente dell'oggetto e quindi determina se quest'ultimo è l'ora TimeZoneInfo legale. |
Qualsiasi altro TimeZoneInfo oggetto. | DateTimeKind.Unspecified |
Determina se dateTime è l'ora legale. |
Se il fuso orario rappresentato dall'oggetto non supporta l'ora TimeZoneInfo legale, il metodo restituisce false
sempre . Un numero di fusi orari, tra Utccui , non osserva l'ora legale. Per determinare se un fuso orario supporta l'ora legale, recuperare il valore della relativa SupportsDaylightSavingTime proprietà.
Se il parametro specifica un'ora ambigua nel fuso orario dell'oggetto corrente, il TimeZoneInfo.IsDaylightSavingTimedateTime
metodo interpreta dateTime
come ora standard e restituisce false
se la relativa Kind proprietà è DateTimeKind.Local o DateTimeKind.Unspecified. Se la proprietà è DateTimeKind.Utc, questo metodo seleziona l'ora Kind ambigua corretta e indica se è un'ora legale.
Poiché il TimeZoneInfo.IsDaylightSavingTime(DateTime) metodo può restituire false
per una data e un'ora ambigua , ovvero una data e un'ora che può rappresentare un'ora legale o un'ora legale in un determinato fuso orario, il TimeZoneInfo.IsAmbiguousTime(DateTime) metodo può essere associato al IsDaylightSavingTime(DateTime) metodo per determinare se un'ora legale può essere un'ora legale. Poiché un'ora ambigua è una che può essere sia un'ora legale che un'ora solare, il IsAmbiguousTime(DateTime) metodo può essere chiamato prima per determinare se una data e un'ora legale possono essere un'ora legale. Se il metodo restituisce false
, il IsDaylightSavingTime(DateTime) metodo può essere chiamato per determinare se il DateTime valore è un'ora legale. Nell'esempio seguente viene illustrata questa tecnica.
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).
Se il dateTime
parametro specifica un tempo non valido, la chiamata al metodo genera un valore ArgumentException se il valore della dateTime
proprietà del Kind parametro è DateTimeKind.Local; in caso contrario, il metodo restituisce false
.
Chiamare il metodo per determinare se usare il TimeZoneInfo.IsDaylightSavingTime valore del fuso orario o il DaylightName relativo valore quando viene visualizzato il nome del StandardName fuso orario. Per un'illustrazione, vedere la sezione Esempio.
Vedi anche
Si applica a
IsDaylightSavingTime(DateTimeOffset)
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
Indica se una data e un'ora specificate rientrano nell'intervallo dell'ora legale per il fuso orario dell'oggetto TimeZoneInfo corrente.
public:
bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean
Parametri
- dateTimeOffset
- DateTimeOffset
Valore di data e ora.
Restituisce
true
se il parametro dateTimeOffset
è un'ora legale; in caso contrario, false
.
Commenti
Il valore restituito di TimeZoneInfo.IsDaylightSavingTime è interessato dalla relazione tra il fuso orario rappresentato dall'oggetto TimeZoneInfo e la Offset proprietà del dateTimeOffset
parametro. Se dateTimeOffset
non corrisponde all'offset del fuso orario corrente dall'ora UTC (Coordinated Universal Time), il metodo converte tale ora nell'ora nel fuso orario corrente. Determina quindi se tale data e ora è un'ora legale.
Se il fuso orario rappresentato dall'oggetto non supporta l'ora TimeZoneInfo legale, il metodo restituisce false
sempre . Per determinare se un fuso orario supporta l'ora legale, recuperare il valore della relativa SupportsDaylightSavingTime proprietà.