Bagikan melalui


TimeZoneInfo.ConvertTime Metode

Definisi

Mengonversi waktu ke waktu dalam zona waktu tertentu.

Overload

ConvertTime(DateTime, TimeZoneInfo)

Mengonversi waktu ke waktu dalam zona waktu tertentu.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Mengonversi waktu ke waktu dalam zona waktu tertentu.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Mengonversi waktu dari satu zona waktu ke zona waktu lainnya.

ConvertTime(DateTime, TimeZoneInfo)

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

Mengonversi waktu ke waktu dalam zona waktu tertentu.

public:
 static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime

Parameter

dateTime
DateTime

Tanggal dan waktu untuk mengonversi.

destinationTimeZone
TimeZoneInfo

Zona waktu yang akan dikonversi dateTime.

Mengembalikan

Tanggal dan waktu di zona waktu tujuan.

Pengecualian

Nilai parameter dateTime mewakili waktu yang tidak valid.

Nilai parameter destinationTimeZonenull.

Contoh

Contoh berikut mengonversi array nilai tanggal dan waktu ke waktu di zona Waktu Timur A.S. dan Kanada. Ini menunjukkan bahwa zona waktu sumber tergantung pada properti DateTime.Kind dari nilai DateTime sumber. Ini juga menggambarkan bahwa metode ConvertTime memperhitungkan penyesuaian zona waktu, karena penyesuaian zona waktu terjadi di zona waktu sumber dan tujuan pada pukul 2:00 A.M. pada 7 November 2010.

using System;

public class Example
{
   public static void Main()
   {
      // Define times to be converted.
      DateTime[] times = { new DateTime(2010, 1, 1, 0, 1, 0), 
                           new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc), 
                           new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local),                            
                           new DateTime(2010, 11, 6, 23, 30, 0),
                           new DateTime(2010, 11, 7, 2, 30, 0) };
                              
      // Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      TimeZoneInfo est; 
      try {
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      }
      catch (TimeZoneNotFoundException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }
      catch (InvalidTimeZoneException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }   

      // Display the current time zone name.
      Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
      
      // Convert each time in the array.
      foreach (DateTime timeToConvert in times)
      {
         DateTime targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
         Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, 
                           timeToConvert.Kind, targetTime);
      }                        
   }
}
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
//    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
//    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
//    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
//    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
open System

// Define times to be converted.
let times = 
    [| DateTime(2010, 1, 1, 0, 1, 0)
       DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc)
       DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local)
       DateTime(2010, 11, 6, 23, 30, 0)
       DateTime(2010, 11, 7, 2, 30, 0) |]
                        
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
    let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"

    // Display the current time zone name.
    printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"

    // Convert each time in the array.
    for timeToConvert in times do
        let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
        printfn $"Converted {timeToConvert} {timeToConvert.Kind} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
//    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
//    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
//    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
//    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
Module Example
   Public Sub Main()
      ' Define times to be converted.
      Dim times() As Date = { #1/1/2010 12:01AM#, _
                              DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Utc), _
                              DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Local), _
                              #11/6/2010 11:30PM#, #11/7/2010 2:30AM# }
                              
      ' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      Dim est As TimeZoneInfo 
      Try
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
      Catch e As TimeZoneNotFoundException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      Catch e As InvalidTimeZoneException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      End Try   

      ' Display the current time zone name.
      Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
      Console.WriteLine()
      
      ' Convert each time in the array.
      For Each timeToConvert As Date In times
         Dim targetTime As Date = TimeZoneInfo.ConvertTime(timeToConvert, est)
         Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, _
                           timeToConvert.Kind, targetTime)
      Next                        
   End Sub
End Module
' The example displays the following output:
'    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'    
'    Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
'    Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
'    Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
'    Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
'    Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.

Keterangan

Saat melakukan konversi, metode ConvertTime(DateTimeOffset, TimeZoneInfo) menerapkan aturan penyesuaian apa pun yang berlaku di zona waktu destinationTimeZone.

Kelebihan beban metode ConvertTime(DateTime, TimeZoneInfo) ini menentukan zona waktu sumber dari nilai properti Kind parameter dateTime, seperti yang ditunjukkan tabel berikut.

Jenis nilai properti Zona waktu sumber Perilaku metode
DateTimeKind.Local Local Mengonversi waktu lokal ke waktu dalam destinationTimeZone.
DateTimeKind.Utc Utc Mengonversi Waktu Universal Terkoordinasi (UTC) ke waktu dalam destinationTimeZone.
DateTimeKind.Unspecified Diasumsikan Local. Mengonversi waktu lokal ke waktu dalam destinationTimeZone.

Properti Kind dari nilai DateTime yang dikembalikan diatur seperti yang diperlihatkan dalam tabel berikut ini.

Keadaan Nilai properti Kind yang Dikembalikan
destinationTimeZone TimeZoneInfo.Utc. DateTimeKind.Utc
destinationTimeZone TimeZoneInfo.Local. DateTimeKind.Local
Semua nilai tanggal dan waktu lainnya serta zona waktu tujuan. DateTimeKind.Unspecified

Jika nilai parameter dateTime adalah waktu lokal yang ambigu, itu ditafsirkan sebagai waktu standar. Jika parameter dateTime adalah waktu lokal yang tidak valid, metode ini akan menampilkan ArgumentException.

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

Anda juga dapat mengonversi ke atau dari UTC dengan memanggil metode ConvertTimeFromUtc dan ConvertTimeToUtc.

Lihat juga

Berlaku untuk

ConvertTime(DateTimeOffset, TimeZoneInfo)

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

Mengonversi waktu ke waktu dalam zona waktu tertentu.

public:
 static DateTimeOffset ConvertTime(DateTimeOffset dateTimeOffset, TimeZoneInfo ^ destinationTimeZone);
public static DateTimeOffset ConvertTime (DateTimeOffset dateTimeOffset, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTimeOffset * TimeZoneInfo -> DateTimeOffset
Public Shared Function ConvertTime (dateTimeOffset As DateTimeOffset, destinationTimeZone As TimeZoneInfo) As DateTimeOffset

Parameter

dateTimeOffset
DateTimeOffset

Tanggal dan waktu untuk mengonversi.

destinationTimeZone
TimeZoneInfo

Zona waktu yang akan dikonversi dateTimeOffset.

Mengembalikan

Tanggal dan waktu di zona waktu tujuan.

Pengecualian

Nilai parameter destinationTimeZonenull.

Contoh

Contoh berikut mengonversi array nilai DateTimeOffset ke waktu di zona Waktu Timur A.S. dan Kanada. Ini menggambarkan bahwa metode ConvertTime memperhitungkan penyesuaian zona waktu, karena penyesuaian zona waktu terjadi di zona waktu sumber dan tujuan pada pukul 2:00 A.M. pada 7 November 2010.

using System;

public class Example
{
   public static void Main()
   {
      // Define times to be converted.
      DateTime time1 = new DateTime(2010, 1, 1, 12, 1, 0);
      DateTime time2 = new DateTime(2010, 11, 6, 23, 30, 0);
      DateTimeOffset[] times = { new DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)),
                                 new DateTimeOffset(time1, TimeSpan.Zero),
                                 new DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)),
                                 new DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) };
                              
      // Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      TimeZoneInfo est; 
      try {
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      }
      catch (TimeZoneNotFoundException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }
      catch (InvalidTimeZoneException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }   

      // Display the current time zone name.
      Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
      
      // Convert each time in the array.
      foreach (DateTimeOffset timeToConvert in times)
      {
         DateTimeOffset targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
         Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime);
      }                        
   }
}
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
//    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
//    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
//    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
open System

// Define times to be converted.
let time1 = DateTime(2010, 1, 1, 12, 1, 0)
let time2 = DateTime(2010, 11, 6, 23, 30, 0)
let times = 
    [| DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset time1)
       DateTimeOffset(time1, TimeSpan.Zero)
       DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset time2)
       DateTimeOffset(time2.AddHours 3, TimeZoneInfo.Local.GetUtcOffset(time2.AddHours 3)) |]
                        
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
    let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"

    // Display the current time zone name.
    printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"

    // Convert each time in the array.
    for timeToConvert in times do
        let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
        printfn $"Converted {timeToConvert} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
    printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
//    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
//    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
//    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
Module Example
   Public Sub Main()
      ' Define times to be converted.
      Dim time1 As Date = #1/1/2010 12:01AM#
      Dim time2 As Date = #11/6/2010 11:30PM#
      Dim times() As DateTimeOffset = { New DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)), _
                                        New DateTimeOffset(time1, Timespan.Zero), _
                                        New DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)), _
                                        New DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) }
                              
      ' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      Dim est As TimeZoneInfo 
      Try
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
      Catch e As TimeZoneNotFoundException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      Catch e As InvalidTimeZoneException
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
         Exit Sub
      End Try   

      ' Display the current time zone name.
      Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
      Console.WriteLine()
      
      ' Convert each time in the array.
      For Each timeToConvert As DateTimeOffset In times
         Dim targetTime As DateTimeOffset = TimeZoneInfo.ConvertTime(timeToConvert, est)
         Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime)
      Next                        
   End Sub
End Module
' The example displays the following output:
'    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'    
'    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
'    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
'    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
'    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.

Keterangan

Saat melakukan konversi, metode ConvertTime(DateTimeOffset, TimeZoneInfo) menerapkan aturan penyesuaian apa pun yang berlaku di zona waktu destinationTimeZone.

Kelebihan beban ini berbeda dari kelebihan beban lain dari metode ConvertTime dengan menerima nilai DateTimeOffset sebagai parameter pertamanya. Ini mengidentifikasi tanggal dan waktu sebagai offset dari Waktu Universal Terkoordinasi (UTC) daripada sebagai tanggal dan waktu di zona waktu tertentu. Akibatnya, parameter dateTimeOffset tidak dapat mewakili waktu ambigu atau waktu yang tidak valid.

Dalam mengonversi nilai dateTimeOffset ke waktu di zona waktu tujuan, metode ini memperhitungkan aturan penyesuaian apa pun yang berlaku di zona waktu tujuan.

Jika konversi dateTimeOffset menghasilkan nilai tanggal dan waktu yang lebih lama dari DateTimeOffset.MinValue atau lebih baru dari DateTimeOffset.MaxValue, metode ini mengembalikan DateTimeOffset.MinValue atau DateTimeOffset.MaxValue, masing-masing.

Lihat juga

Berlaku untuk

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

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

Mengonversi waktu dari satu zona waktu ke zona waktu lainnya.

public:
 static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ sourceTimeZone, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, sourceTimeZone As TimeZoneInfo, destinationTimeZone As TimeZoneInfo) As DateTime

Parameter

dateTime
DateTime

Tanggal dan waktu untuk mengonversi.

sourceTimeZone
TimeZoneInfo

Zona waktu dateTime.

destinationTimeZone
TimeZoneInfo

Zona waktu yang akan dikonversi dateTime.

Mengembalikan

Tanggal dan waktu di zona waktu tujuan yang sesuai dengan parameter dateTime di zona waktu sumber.

Pengecualian

Properti Kind dari parameter dateTimeLocal, tetapi parameter sourceTimeZone tidak sama dengan Local.

-atau-

Properti Kind dari parameter dateTimeUtc, tetapi parameter sourceTimeZone tidak sama dengan Utc.

-atau-

Parameter dateTime adalah waktu yang tidak valid (yaitu, ini mewakili waktu yang tidak ada karena aturan penyesuaian zona waktu).

Parameter sourceTimeZonenull.

-atau-

Parameter destinationTimeZonenull.

Contoh

Contoh berikut mengilustrasikan penggunaan metode ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) untuk mengonversi dari Waktu Standar Hawaii ke waktu lokal.

DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
   TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
   Console.WriteLine("{0} {1} is {2} local time.", 
           hwTime, 
           hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName, 
           TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.");
}
let hwTime = DateTime(2007, 02, 01, 08, 00, 00)
try
    let hwZone = TimeZoneInfo.FindSystemTimeZoneById "Hawaiian Standard Time"
    printfn $"{hwTime} {if hwZone.IsDaylightSavingTime hwTime then hwZone.DaylightName else hwZone.StandardName} is {TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local)} local time." 
with
| :? TimeZoneNotFoundException ->
    printfn "The registry does not define the Hawaiian Standard Time zone."
| :? InvalidTimeZoneException ->
    printfn "Registry data on the Hawaiian Standard Time zone has been corrupted."
Dim hwTime As Date = #2/01/2007 8:00:00 AM#
Try
   Dim hwZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time")
   Console.WriteLine("{0} {1} is {2} local time.", _
                     hwTime, _
                     IIf(hwZone.IsDaylightSavingTime(hwTime), hwZone.DaylightName, hwZone.StandardName), _
                     TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local))
Catch e As TimeZoneNotFoundException
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.")
Catch e As InvalidTimeZoneException
   Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.")
End Try

Keterangan

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

Nilai properti Kind parameter dateTime harus sesuai dengan parameter sourceTimeZone, seperti yang ditunjukkan tabel berikut.

Nilai DateTime.Kind nilai sourceTimeZone Perilaku metode
DateTimeKind.Utc Sama dengan TimeZoneInfo.Utc. Mengonversi dateTime ke waktu zona waktu tujuan.
DateTimeKind.Utc Tidak sama dengan TimeZoneInfo.Utc. Melemparkan ArgumentException.
DateTimeKind.Local Sama dengan TimeZoneInfo.Local. Mengonversi dateTime ke waktu zona waktu tujuan.
DateTimeKind.Local Tidak sama dengan TimeZoneInfo.Local. Melemparkan ArgumentException.
DateTimeKind.Unspecified Setiap. Mengonversi dateTime ke waktu zona waktu tujuan.

Anda juga dapat mengonversi ke atau dari Waktu Universal Terkoordinasi (UTC) dengan memanggil metode ConvertTimeFromUtc dan ConvertTimeToUtc.

Properti Kind dari nilai DateTime yang dikembalikan diatur seperti yang diperlihatkan dalam tabel berikut ini.

Keadaan Nilai properti Kind yang Dikembalikan
Argumen destinationTimeZoneTimeZoneInfo.Utc. DateTimeKind.Utc
Argumen destinationTimeZoneTimeZoneInfo.Local. DateTimeKind.Local
Semua nilai tanggal dan waktu lainnya, zona waktu sumber, dan zona waktu tujuan. DateTimeKind.Unspecified

Jika nilai parameter dateTime adalah waktu ambigu di zona waktu sumber, itu ditafsirkan sebagai waktu standar. Jika parameter dateTime adalah waktu yang tidak valid di zona waktu sumber, metode ini akan menampilkan ArgumentException.

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

Metode ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) melemparkan pengecualian ArgumentException jika properti DateTime.Kind argumen dateTimeDateTimeKind.Local tetapi argumen sourceTimeZone tidak TimeZoneInfo.Local. Untuk menentukan apakah zona waktu sumber adalah zona waktu lokal atau zona waktu universal, metode menguji kesetaraan referensi alih-alih menguji kesetaraan nilai dengan metode Equals(TimeZoneInfo). Perhatikan bahwa TimeZoneInfo objek yang mewakili zona waktu lokal dan yang diambil dengan memanggil metode FindSystemTimeZoneById tidak memiliki kesetaraan referensial dengan TimeZoneInfo.Local. Selain itu, TimeZoneInfo objek yang mewakili zona waktu lokal atau universal dan yang diambil dengan mengulangi koleksi yang dikembalikan oleh metode GetSystemTimeZones tidak memiliki kesetaraan referensial dengan TimeZoneInfo.Local atau TimeZoneInfo.Utc. Sebagai alternatif, Anda dapat memanggil metode ConvertTimeBySystemTimeZoneId(DateTime, String, String).

Lihat juga

Berlaku untuk