TimeZoneInfo.IsDaylightSavingTime Método

Definición

Indica si una fecha y hora especificadas están en el intervalo de horario de verano de la zona horaria del objeto TimeZoneInfo actual.Indicates whether a specified date and time falls in the range of daylight saving time for the current TimeZoneInfo object's time zone.

Sobrecargas

IsDaylightSavingTime(DateTimeOffset)

Indica si una fecha y hora especificadas están en el intervalo de horario de verano de la zona horaria del objeto TimeZoneInfo actual.Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

IsDaylightSavingTime(DateTime)

Indica si una fecha y hora especificadas están en el intervalo de horario de verano de la zona horaria del objeto TimeZoneInfo actual.Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

IsDaylightSavingTime(DateTimeOffset)

Indica si una fecha y hora especificadas están en el intervalo de horario de verano de la zona horaria del objeto TimeZoneInfo actual.Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

public:
 bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean

Parámetros

dateTimeOffset
DateTimeOffset

Valor de fecha y hora.A date and time value.

Devoluciones

Boolean

Es true si el parámetro dateTimeOffset corresponde al horario de verano; en caso contrario, es false.true if the dateTimeOffset parameter is a daylight saving time; otherwise, false.

Comentarios

El valor devuelto de TimeZoneInfo.IsDaylightSavingTime se ve afectado por la relación entre la zona horaria representada por el TimeZoneInfo objeto y la Offset propiedad del dateTimeOffset parámetro.The return value of TimeZoneInfo.IsDaylightSavingTime is affected by the relationship between the time zone represented by the TimeZoneInfo object and the Offset property of the dateTimeOffset parameter. Si no dateTimeOffset se corresponde con el desplazamiento de la zona horaria actual con respecto a la hora universal coordinada (UTC), el método convierte esa hora en la hora de la zona horaria actual.If dateTimeOffset does not correspond to the current time zone's offset from Coordinated Universal Time (UTC), the method converts that time to the time in the current time zone. A continuación, determina si esa fecha y hora es un horario de verano.It then determines whether that date and time is a daylight saving time.

Si la zona horaria representada por el TimeZoneInfo objeto no admite el horario de verano, el método siempre devuelve false .If the time zone represented by the TimeZoneInfo object does not support daylight saving time, the method always returns false. Para determinar si una zona horaria admite el horario de verano, recupere el valor de su SupportsDaylightSavingTime propiedad.To determine whether a time zone supports daylight saving time, retrieve the value of its SupportsDaylightSavingTime property.

Consulte también

Se aplica a

IsDaylightSavingTime(DateTime)

Indica si una fecha y hora especificadas están en el intervalo de horario de verano de la zona horaria del objeto TimeZoneInfo actual.Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

public:
 bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime (DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean

Parámetros

dateTime
DateTime

Valor de fecha y hora.A date and time value.

Devoluciones

Boolean

Es true si el parámetro dateTime corresponde al horario de verano; en caso contrario, es false.true if the dateTime parameter is a daylight saving time; otherwise, false.

Excepciones

La propiedad Kind del valor dateTime es Local y dateTime es una hora no válida.The Kind property of the dateTime value is Local and dateTime is an invalid time.

Ejemplos

En el ejemplo siguiente se define un método denominado DisplayDateWithTimeZoneName que utiliza el TimeZoneInfo.IsDaylightSavingTime método para determinar si se va a mostrar el nombre de hora estándar de una zona horaria o el nombre del horario de verano.The following example defines a method named DisplayDateWithTimeZoneName that uses the TimeZoneInfo.IsDaylightSavingTime method to determine whether to display a time zone's standard time name or daylight saving time name.

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   
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   

Comentarios

El valor devuelto de TimeZoneInfo.IsDaylightSavingTime se ve afectado por la relación entre la zona horaria representada por el TimeZoneInfo objeto y la Kind propiedad del dateTime parámetro, como se muestra en la tabla siguiente.The return value of TimeZoneInfo.IsDaylightSavingTime is affected by the relationship between the time zone represented by the TimeZoneInfo object and the Kind property of the dateTime parameter, as the following table shows.

TimeZoneInfo (objeto)TimeZoneInfo object Propiedad DateTime.KindDateTime.Kind property ResultadoResult
TimeZoneInfo.Local DateTimeKind.Local Determina si dateTime es el horario de verano.Determines whether dateTime is daylight saving time.
TimeZoneInfo.Local DateTimeKind.Utc Convierte de la hora dateTime universal coordinada (UTC) a la hora local y determina si es el horario de verano.Converts dateTime from Coordinated Universal Time (UTC) to local time and determines whether it is daylight saving time.
TimeZoneInfo.Local DateTimeKind.Unspecified Supone que dateTime representa la hora local y determina si es el horario de verano.Assumes that dateTime represents local time and determines whether it is daylight saving time.
TimeZoneInfo.Utc DateTimeKind.Local, DateTimeKind.Unspecifiedo DateTimeKind.UtcDateTimeKind.Local, DateTimeKind.Unspecified, or DateTimeKind.Utc Devuelve false (la hora UTC no admite el horario de verano).Returns false (UTC does not support daylight saving time).
Cualquier otro TimeZoneInfo objeto.Any other TimeZoneInfo object. DateTimeKind.Local Convierte la hora local en la hora equivalente del TimeZoneInfo objeto y, a continuación, determina si el último es el horario de verano.Converts the local time to the equivalent time of the TimeZoneInfo object and then determines whether the latter is daylight saving time.
Cualquier otro TimeZoneInfo objeto.Any other TimeZoneInfo object. DateTimeKind.Utc Convierte la hora UTC en la hora equivalente del TimeZoneInfo objeto y, a continuación, determina si la última es el horario de verano.Converts UTC to the equivalent time of the TimeZoneInfo object and then determines whether the latter is daylight saving time.
Cualquier otro TimeZoneInfo objeto.Any other TimeZoneInfo object. DateTimeKind.Unspecified Determina si dateTime es el horario de verano.Determines whether dateTime is daylight saving time.

Si la zona horaria representada por el TimeZoneInfo objeto no admite el horario de verano, el método siempre devuelve false .If the time zone represented by the TimeZoneInfo object does not support daylight saving time, the method always returns false. Varias zonas horarias, como Utc , no observan el horario de verano.A number of time zones, including Utc, do not observe daylight saving time. Para determinar si una zona horaria admite el horario de verano, recupere el valor de su SupportsDaylightSavingTime propiedad.To determine whether a time zone supports daylight saving time, retrieve the value of its SupportsDaylightSavingTime property.

Si el dateTime parámetro especifica una hora ambigua en la zona horaria del objeto actual, el TimeZoneInfo.IsDaylightSavingTime método interpreta dateTime como hora estándar y devuelve false si su Kind propiedad es DateTimeKind.Local o DateTimeKind.Unspecified .If the dateTime parameter specifies an ambiguous time in the current object's time zone, the TimeZoneInfo.IsDaylightSavingTime method interprets dateTime as standard time and returns false if its Kind property is DateTimeKind.Local or DateTimeKind.Unspecified. Si la Kind propiedad es DateTimeKind.Utc , este método seleccionará la hora ambigua correcta e indicará si se trata de un horario de verano.If the Kind property is DateTimeKind.Utc, this method will select the correct ambiguous time and indicate whether it is a daylight saving time.

Dado que el TimeZoneInfo.IsDaylightSavingTime(DateTime) método puede devolver false para una fecha y hora ambigua (es decir, una fecha y una hora que pueden representar una hora estándar o un horario de verano en una zona horaria determinada), el TimeZoneInfo.IsAmbiguousTime(DateTime) método se puede emparejar con el IsDaylightSavingTime(DateTime) método para determinar si una hora puede ser un horario de verano.Because the TimeZoneInfo.IsDaylightSavingTime(DateTime) method can return false for a date and time that is ambiguous (that is, a date and time that can represent either a standard time or a daylight saving time in a particular time zone), the TimeZoneInfo.IsAmbiguousTime(DateTime) method can be paired with the IsDaylightSavingTime(DateTime) method to determine whether a time may be a daylight saving time. Dado que una hora ambigua es aquella que puede ser una hora de verano y una hora estándar, IsAmbiguousTime(DateTime) se puede llamar primero al método para determinar si una fecha y hora puede ser un horario de verano.Because an ambiguous time is one that can be both a daylight saving time and a standard time, the IsAmbiguousTime(DateTime) method can be called first to determine whether a date and time may be a daylight saving time. Si el método devuelve false , IsDaylightSavingTime(DateTime) se puede llamar al método para determinar si el DateTime valor es un horario de verano.If the method returns false, the IsDaylightSavingTime(DateTime) method can be called to determine whether the DateTime value is a daylight saving time. En el ejemplo siguiente se muestra esta técnica.The following example illustrates this 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).
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 el dateTime parámetro especifica una hora no válida, la llamada al método produce una excepción ArgumentException si el valor de la dateTime propiedad del parámetro Kind es DateTimeKind.Local ; en caso contrario, el método devuelve false .If the dateTime parameter specifies an invalid time, the method call throws an ArgumentException if the value of the dateTime parameter's Kind property is DateTimeKind.Local; otherwise, the method returns false.

Llame al TimeZoneInfo.IsDaylightSavingTime método para determinar si se debe usar el valor de una zona horaria StandardName o su DaylightName valor al mostrar el nombre de la zona horaria.Call the TimeZoneInfo.IsDaylightSavingTime method to determine whether to use a time zone's StandardName value or its DaylightName value when displaying the time zone name. Vea la sección ejemplo para ver una ilustración.See the Example section for an illustration.

Consulte también

Se aplica a