Share via


TimeZoneInfo.IsDaylightSavingTime Metode

Definisi

Menunjukkan apakah tanggal dan waktu tertentu berada dalam rentang waktu musim panas untuk zona waktu objek saat ini TimeZoneInfo .

Overload

IsDaylightSavingTime(DateTime)

Menunjukkan apakah tanggal dan waktu tertentu berada dalam rentang waktu musim panas untuk zona waktu objek saat ini TimeZoneInfo .

IsDaylightSavingTime(DateTimeOffset)

Menunjukkan apakah tanggal dan waktu tertentu berada dalam rentang waktu musim panas untuk zona waktu objek saat ini TimeZoneInfo .

IsDaylightSavingTime(DateTime)

Sumber:
TimeZoneInfo.cs
Sumber:
TimeZoneInfo.cs
Sumber:
TimeZoneInfo.cs

Menunjukkan apakah tanggal dan waktu tertentu berada dalam rentang waktu musim panas untuk zona waktu objek saat ini TimeZoneInfo .

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

Parameter

dateTime
DateTime

Nilai tanggal dan waktu.

Mengembalikan

truedateTime jika parameternya adalah waktu musim panas; jika tidak, false.

Pengecualian

Properti Kind nilai dateTime adalah Local dan dateTime merupakan waktu yang tidak valid.

Contoh

Contoh berikut mendefinisikan metode bernama DisplayDateWithTimeZoneName yang menggunakan TimeZoneInfo.IsDaylightSavingTime metode untuk menentukan apakah akan menampilkan nama waktu standar zona waktu atau nama waktu musim panas.

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

Keterangan

Nilai yang dikembalikan dipengaruhi TimeZoneInfo.IsDaylightSavingTime oleh hubungan antara zona waktu yang diwakili oleh TimeZoneInfo objek dan Kind properti dateTime parameter, seperti yang ditunjukkan tabel berikut.

Objek TimeZoneInfo Properti DateTime.Kind Hasil
TimeZoneInfo.Local DateTimeKind.Local Menentukan apakah dateTime siang hari menghemat waktu.
TimeZoneInfo.Local DateTimeKind.Utc dateTime Mengonversi dari Waktu Universal Terkoordinasi (UTC) ke waktu lokal dan menentukan apakah itu waktu musim panas.
TimeZoneInfo.Local DateTimeKind.Unspecified Mengasumsikan bahwa dateTime mewakili waktu lokal dan menentukan apakah itu waktu musim panas.
TimeZoneInfo.Utc DateTimeKind.Local, DateTimeKind.Unspecified, atau DateTimeKind.Utc Pengembalian false (UTC tidak mendukung waktu musim panas).
Objek lainnya TimeZoneInfo . DateTimeKind.Local Mengonversi waktu lokal ke waktu objek yang TimeZoneInfo setara dan kemudian menentukan apakah yang terakhir adalah waktu musim panas.
Objek lainnya TimeZoneInfo . DateTimeKind.Utc Mengonversi UTC ke waktu objek yang TimeZoneInfo setara dan kemudian menentukan apakah yang terakhir adalah waktu musim panas.
Objek lainnya TimeZoneInfo . DateTimeKind.Unspecified Menentukan apakah dateTime siang hari menghemat waktu.

Jika zona waktu yang diwakili oleh TimeZoneInfo objek tidak mendukung waktu musim panas, metode selalu mengembalikan false. Sejumlah zona waktu, termasuk Utc, tidak mengamati waktu musim panas. Untuk menentukan apakah zona waktu mendukung waktu musim panas, ambil nilai propertinya SupportsDaylightSavingTime .

dateTime Jika parameter menentukan waktu ambigu di zona waktu objek saat ini, TimeZoneInfo.IsDaylightSavingTime metode menafsirkan dateTime sebagai waktu standar dan mengembalikan false jika propertinya Kind adalah DateTimeKind.Local atau DateTimeKind.Unspecified. Kind Jika properti adalah DateTimeKind.Utc, metode ini akan memilih waktu ambigu yang benar dan menunjukkan apakah itu adalah waktu musim panas.

TimeZoneInfo.IsDaylightSavingTime(DateTime) Karena metode dapat kembali false untuk tanggal dan waktu yang ambigu (yaitu, tanggal dan waktu yang dapat mewakili waktu standar atau waktu musim panas di zona waktu tertentu), TimeZoneInfo.IsAmbiguousTime(DateTime) metode dapat dipasangkan dengan IsDaylightSavingTime(DateTime) metode untuk menentukan apakah waktu mungkin merupakan waktu musim panas. Karena waktu yang ambigu adalah waktu yang dapat menjadi waktu musim panas dan waktu standar, IsAmbiguousTime(DateTime) metode ini dapat dipanggil terlebih dahulu untuk menentukan apakah tanggal dan waktu mungkin merupakan waktu musim panas. Jika metode mengembalikan false, IsDaylightSavingTime(DateTime) metode dapat dipanggil untuk menentukan apakah DateTime nilainya adalah waktu musim panas. Contoh berikut mengilustrasikan teknik ini.

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

dateTime Jika parameter menentukan waktu yang tidak valid, panggilan metode akan menampilkan ArgumentException jika nilai dateTime properti parameter Kind adalah DateTimeKind.Local; jika tidak, metode akan mengembalikan false.

TimeZoneInfo.IsDaylightSavingTime Panggil metode untuk menentukan apakah akan menggunakan nilai zona StandardName waktu atau nilainya DaylightName saat menampilkan nama zona waktu. Lihat bagian Contoh untuk ilustrasi.

Lihat juga

Berlaku untuk

IsDaylightSavingTime(DateTimeOffset)

Sumber:
TimeZoneInfo.cs
Sumber:
TimeZoneInfo.cs
Sumber:
TimeZoneInfo.cs

Menunjukkan apakah tanggal dan waktu tertentu berada dalam rentang waktu musim panas untuk zona waktu objek saat ini TimeZoneInfo .

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

Parameter

dateTimeOffset
DateTimeOffset

Nilai tanggal dan waktu.

Mengembalikan

truedateTimeOffset jika parameternya adalah waktu musim panas; jika tidak, false.

Keterangan

Nilai yang dikembalikan dipengaruhi TimeZoneInfo.IsDaylightSavingTime oleh hubungan antara zona waktu yang diwakili oleh TimeZoneInfo objek dan Offset properti dateTimeOffset parameter. Jika dateTimeOffset tidak sesuai dengan offset zona waktu saat ini dari Waktu Universal Terkoordinasi (UTC), metode mengonversi waktu tersebut ke waktu di zona waktu saat ini. Kemudian menentukan apakah tanggal dan waktu tersebut adalah waktu musim panas.

Jika zona waktu yang diwakili oleh TimeZoneInfo objek tidak mendukung waktu musim panas, metode selalu mengembalikan false. Untuk menentukan apakah zona waktu mendukung waktu musim panas, ambil nilai propertinya SupportsDaylightSavingTime .

Lihat juga

Berlaku untuk