Share via


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

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 dateTime parameter mewakili waktu yang tidak valid.

Nilai destinationTimeZone parameter adalah null.

Contoh

Contoh berikut mengonversi array nilai tanggal dan waktu menjadi waktu di zona Waktu Timur A.S. dan Kanada. Ini menunjukkan bahwa zona waktu sumber tergantung pada DateTime.Kind properti nilai sumber DateTime . Ini juga menggambarkan bahwa ConvertTime metode ini memperhitungkan penyesuaian zona waktu, karena penyesuaian zona waktu terjadi di zona waktu sumber dan tujuan pada pukul 02.00 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, ConvertTime(DateTimeOffset, TimeZoneInfo) metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZone zona waktu.

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

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

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

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

Jika nilai dateTime parameter adalah waktu lokal yang ambigu, nilai tersebut ditafsirkan sebagai waktu standar. dateTime Jika parameter adalah waktu lokal yang tidak valid, metode ini melempar ArgumentException.

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.

Anda juga dapat mengonversi ke atau dari UTC dengan memanggil ConvertTimeFromUtc metode 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 dateTime .

Mengembalikan

Tanggal dan waktu di zona waktu tujuan.

Pengecualian

Nilai destinationTimeZone parameter adalah null.

Contoh

Contoh berikut mengonversi array DateTimeOffset nilai menjadi waktu di zona Waktu Timur A.S. dan Kanada. Ini menggambarkan bahwa ConvertTime metode ini 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, ConvertTime(DateTimeOffset, TimeZoneInfo) metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZone zona waktu.

Kelebihan beban ini berbeda dari kelebihan beban ConvertTime metode lainnya dengan menerima DateTimeOffset nilai 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, dateTimeOffset parameter tidak dapat mewakili waktu ambigu atau waktu yang tidak valid.

Dalam mengonversi dateTimeOffset nilai 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 awal 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 lain.

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

destinationTimeZone
TimeZoneInfo

Zona waktu yang akan dikonversi dateTime .

Mengembalikan

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

Pengecualian

Properti Kind parameter dateTime adalah Local, tetapi sourceTimeZone parameternya tidak sama dengan Local.

-atau-

Properti Kind parameter dateTime adalah Utc, tetapi sourceTimeZone parameternya tidak sama dengan Utc.

-atau-

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

Parameternya sourceTimeZone adalah null.

-atau-

Parameternya destinationTimeZone adalah null.

Contoh

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

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, ConvertTime metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZone zona waktu.

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

Nilai DateTime.Kind nilai sourceTimeZone Perilaku metode
DateTimeKind.Utc TimeZoneInfo.UtcSama dengan . dateTime Mengonversi ke waktu zona waktu tujuan.
DateTimeKind.Utc Tidak sama dengan TimeZoneInfo.Utc. ArgumentExceptionMelempar .
DateTimeKind.Local TimeZoneInfo.LocalSama dengan . dateTime Mengonversi ke waktu zona waktu tujuan.
DateTimeKind.Local Tidak sama dengan TimeZoneInfo.Local. ArgumentExceptionMelempar .
DateTimeKind.Unspecified Semua. dateTime Mengonversi ke waktu zona waktu tujuan.

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

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

Kondisi Nilai properti Jenis yang Dikembalikan
Argumennya destinationTimeZone adalah TimeZoneInfo.Utc. DateTimeKind.Utc
Argumennya destinationTimeZone adalah TimeZoneInfo.Local. DateTimeKind.Local
Semua nilai tanggal dan waktu lainnya, zona waktu sumber, dan zona waktu tujuan. DateTimeKind.Unspecified

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

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.

Metode ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) ini memberikan ArgumentException pengecualian jika DateTime.Kind properti argumen dateTime adalah DateTimeKind.Local tetapi sourceTimeZone argumennya bukan 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 Equals(TimeZoneInfo) metode . Perhatikan bahwa TimeZoneInfo objek yang mewakili zona waktu lokal dan yang diambil dengan memanggil metode tidak memiliki kesetaraan FindSystemTimeZoneById 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 tidak memiliki kesetaraan GetSystemTimeZones referensial dengan TimeZoneInfo.Local atau TimeZoneInfo.Utc. Sebagai alternatif, Anda dapat memanggil metode .ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Lihat juga

Berlaku untuk