Aracılığıyla paylaş


TimeZoneInfo.ConvertTime Yöntem

Tanım

Saati belirli bir saat dilimindeki saate dönüştürür.

Aşırı Yüklemeler

ConvertTime(DateTime, TimeZoneInfo)

Saati belirli bir saat dilimindeki saate dönüştürür.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Saati belirli bir saat dilimindeki saate dönüştürür.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Bir saati bir saat diliminden diğerine dönüştürür.

ConvertTime(DateTime, TimeZoneInfo)

Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs

Saati belirli bir saat dilimindeki saate dönüştürür.

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

Parametreler

dateTime
DateTime

Dönüştürülecek tarih ve saat.

destinationTimeZone
TimeZoneInfo

dateTime dönüştürülecek saat dilimi.

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

dateTime parametresinin değeri geçersiz bir zamanı temsil eder.

destinationTimeZone parametresinin değeri null.

Örnekler

Aşağıdaki örnek, tarih ve saat değerleri dizisini ABD ve Kanada'nın Doğu Saat dilimindeki saatlere dönüştürür. Kaynak saat diliminin kaynak DateTime değerinin DateTime.Kind özelliğine bağlı olduğunu gösterir. Ayrıca, 7 Kasım 2010'da saat dilimi ayarlaması hem kaynak hem de hedef saat dilimlerinde saat dilimi ayarlaması 7 Kasım 2010'da saat 02:00'de gerçekleştiğinden, ConvertTime yönteminin saat dilimi ayarlamalarını dikkate aldığını da gösterir.

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.

Açıklamalar

Dönüştürmeyi gerçekleştirirken, ConvertTime(DateTimeOffset, TimeZoneInfo) yöntemi destinationTimeZone saat diliminde geçerli olan tüm ayarlama kurallarını uygular.

ConvertTime(DateTime, TimeZoneInfo) yönteminin bu aşırı yüklemesi, aşağıdaki tabloda gösterildiği gibi dateTime parametresinin Kind özelliğinin değerinden kaynak saat dilimini belirler.

Kind özellik değeri Kaynak saat dilimi Yöntem davranışı
DateTimeKind.Local Local yerel saati destinationTimeZoneiçindeki saate dönüştürür.
DateTimeKind.Utc Utc Eşgüdümlü Evrensel Saati (UTC) destinationTimeZoneiçindeki saate dönüştürür.
DateTimeKind.Unspecified Localolduğu varsayılır. yerel saati destinationTimeZoneiçindeki saate dönüştürür.

Döndürülen DateTime değerinin Kind özelliği aşağıdaki tabloda gösterildiği gibi ayarlanır.

Koşul Döndürülen Kind özellik değeri
destinationTimeZone TimeZoneInfo.Utc. DateTimeKind.Utc
destinationTimeZone TimeZoneInfo.Local. DateTimeKind.Local
Diğer tüm tarih ve saat değerleri ile hedef saat dilimleri. DateTimeKind.Unspecified

dateTime parametresinin değeri belirsiz bir yerel saatse, standart saat olarak yorumlanır. dateTime parametresi geçersiz bir yerel saatse, bu yöntem bir ArgumentExceptionoluşturur.

dateTime dönüştürülmesi, DateTime.MaxValueDateTime.MinValue veya daha eski bir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla DateTime.MinValue veya DateTime.MaxValuedöndürür.

ayrıca ConvertTimeFromUtc ve ConvertTimeToUtc yöntemlerini çağırarak UTC'ye veya UTC'den dönüştürebilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

ConvertTime(DateTimeOffset, TimeZoneInfo)

Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs

Saati belirli bir saat dilimindeki saate dönüştürür.

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

Parametreler

dateTimeOffset
DateTimeOffset

Dönüştürülecek tarih ve saat.

destinationTimeZone
TimeZoneInfo

dateTimeOffset dönüştürülecek saat dilimi.

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

destinationTimeZone parametresinin değeri null.

Örnekler

Aşağıdaki örnek, DateTimeOffset değerleri dizisini ABD ve Kanada'nın Doğu Saat dilimindeki saatlere dönüştürür. 7 Kasım 2010 saat 02:00'de hem kaynak hem de hedef saat dilimlerinde saat dilimi ayarlaması gerçekleştiğinden ConvertTime yönteminin saat dilimi ayarlamalarını dikkate aldığını gösterir.

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.

Açıklamalar

Dönüştürmeyi gerçekleştirirken, ConvertTime(DateTimeOffset, TimeZoneInfo) yöntemi destinationTimeZone saat diliminde geçerli olan tüm ayarlama kurallarını uygular.

Bu aşırı yükleme, ilk parametresi olarak bir DateTimeOffset değeri kabul ederek ConvertTime yönteminin diğer aşırı yüklemelerinden farklıdır. Bu, tarih ve saati belirli bir saat dilimindeki tarih ve saat yerine Eşgüdümlü Evrensel Saat'ten (UTC) uzaklık olarak tanımlar. Sonuç olarak, dateTimeOffset parametresi belirsiz bir zamanı veya geçersiz bir saati temsil edemez.

bu yöntem, dateTimeOffset değerini hedef saat dilimindeki saate dönüştürürken, hedef saat diliminde geçerli olan tüm ayarlama kurallarını dikkate alır.

dateTimeOffset dönüştürülmesi, DateTimeOffset.MaxValueDateTimeOffset.MinValue veya daha eski bir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla DateTimeOffset.MinValue veya DateTimeOffset.MaxValuedöndürür.

Ayrıca bkz.

Şunlara uygulanır

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs

Bir saati bir saat diliminden diğerine dönüştürür.

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

Parametreler

dateTime
DateTime

Dönüştürülecek tarih ve saat.

sourceTimeZone
TimeZoneInfo

dateTimesaat dilimi.

destinationTimeZone
TimeZoneInfo

dateTime dönüştürülecek saat dilimi.

Döndürülenler

Hedef saat dilimindeki kaynak saat dilimindeki dateTime parametresine karşılık gelen tarih ve saat.

Özel durumlar

dateTime parametresinin Kind özelliği Local, ancak sourceTimeZone parametresi Localeşit değildir.

-veya-

dateTime parametresinin Kind özelliği Utc, ancak sourceTimeZone parametresi Utceşit değildir.

-veya-

dateTime parametresi geçersiz bir saattir (yani, bir saat diliminin ayarlama kuralları nedeniyle var olmayan bir saati temsil eder).

sourceTimeZone parametresi null.

-veya-

destinationTimeZone parametresi null.

Örnekler

Aşağıdaki örnekte Hawaii Standart Saati'nden yerel saate dönüştürmek için ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) yönteminin kullanımı gösterilmektedir.

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

Açıklamalar

Dönüştürmeyi gerçekleştirirken, ConvertTime yöntemi destinationTimeZone saat diliminde geçerli olan tüm ayarlama kurallarını uygular.

dateTime parametresinin Kind özelliğinin değeri, aşağıdaki tabloda gösterildiği gibi sourceTimeZone parametresine karşılık gelir.

DateTime.Kind değeri sourceTimeZone değeri Yöntem davranışı
DateTimeKind.Utc eşittir TimeZoneInfo.Utc. dateTime hedef saat diliminin saatine dönüştürür.
DateTimeKind.Utc TimeZoneInfo.Utceşit değildir. bir ArgumentExceptionatar.
DateTimeKind.Local eşittir TimeZoneInfo.Local. dateTime hedef saat diliminin saatine dönüştürür.
DateTimeKind.Local TimeZoneInfo.Localeşit değildir. bir ArgumentExceptionatar.
DateTimeKind.Unspecified Herhangi. dateTime hedef saat diliminin saatine dönüştürür.

ayrıca ConvertTimeFromUtc ve ConvertTimeToUtc yöntemlerini çağırarak Eşgüdümlü Evrensel Saat'e (UTC) dönüştürebilirsiniz.

Döndürülen DateTime değerinin Kind özelliği aşağıdaki tabloda gösterildiği gibi ayarlanır.

Koşul Döndürülen Kind özellik değeri
destinationTimeZone bağımsız değişkeni TimeZoneInfo.Utc. DateTimeKind.Utc
destinationTimeZone bağımsız değişkeni TimeZoneInfo.Local. DateTimeKind.Local
Diğer tüm tarih ve saat değerleri, kaynak saat dilimleri ve hedef saat dilimleri. DateTimeKind.Unspecified

dateTime parametresinin değeri kaynak saat dilimindeki belirsiz bir saatse, standart saat olarak yorumlanır. dateTime parametresi kaynak saat diliminde geçersiz bir saatse, bu yöntem bir ArgumentExceptionoluşturur.

dateTime dönüştürülmesi, DateTime.MaxValueDateTime.MinValue veya daha eski bir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla DateTime.MinValue veya DateTime.MaxValuedöndürür.

dateTime bağımsız değişkeninin DateTime.Kind özelliği DateTimeKind.Local ancak sourceTimeZone bağımsız değişkeni TimeZoneInfo.Localdeğilse ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) yöntemi ArgumentException bir özel durum oluşturur. Kaynak saat diliminin yerel saat dilimi mi yoksa evrensel saat dilimi mi olduğunu belirlemek için yöntem, Equals(TimeZoneInfo) yöntemiyle değer eşitliğini test etmek yerine başvuru eşitliğini sınar. Yerel saat dilimini temsil eden ve FindSystemTimeZoneById yöntemi çağrılarak alınan TimeZoneInfo nesnelerin TimeZoneInfo.Localile bilgi eşitliğine sahip olmadığını unutmayın. Ayrıca, yerel veya evrensel saat dilimini temsil eden ve GetSystemTimeZones yöntemi tarafından döndürülen koleksiyon yinelenerek alınan TimeZoneInfo nesneleri, TimeZoneInfo.Local veya TimeZoneInfo.Utcile bilgi eşitliğine sahip değildir. Alternatif olarak, ConvertTimeBySystemTimeZoneId(DateTime, String, String) yöntemini çağırabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır