TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Metode

Definisi

Mengonversi Waktu Universal Terkoordinasi (UTC) ke waktu dalam zona waktu yang ditentukan.

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

Parameter

dateTime
DateTime

Waktu Universal Terkoordinasi (UTC).

destinationTimeZone
TimeZoneInfo

Zona waktu yang akan dikonversi dateTime .

Mengembalikan

Tanggal dan waktu di zona waktu tujuan. Propertinya Kind adalah Utc jika destinationTimeZone adalah Utc; jika tidak, propertinya Kind adalah Unspecified.

Pengecualian

Properti Kind dari dateTime adalah Local.

destinationTimeZoneadalah null.

Contoh

Contoh berikut mengonversi Waktu Universal Terkoordinasi (UTC) ke Waktu Pusat.

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

Keterangan

Saat melakukan konversi, ConvertTimeFromUtc metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZone zona waktu.

Perilaku yang tepat dari metode ini tergantung pada nilai Kind properti dateTime parameter, seperti yang ditunjukkan tabel berikut.

Properti DateTime.Kind Konversi
DateTimeKind.Local ArgumentExceptionMelempar .
DateTimeKind.Unspecified atau DateTimeKind.Utc Mengonversi dari Waktu Universal Terkoordinasi (UTC).

Jika konversi dateTime menghasilkan nilai tanggal dan waktu yang lebih awal dari DateTime.MinValue atau lebih baru dari DateTime.MaxValue, metode ini mengembalikan DateTime.MinValue atau DateTime.MaxValue, masing-masing.

Berlaku untuk

Lihat juga