TimeZoneInfo.ConvertTime Yöntem

Tanım

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

Aşırı Yüklemeler

ConvertTime(DateTime, TimeZoneInfo)

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

ConvertTime(DateTimeOffset, TimeZoneInfo)

Bir 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

Bir 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

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

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

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

parametresinin destinationTimeZone değeridir null.

Örnekler

Aşağıdaki örnek, bir 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 değerin özelliğine DateTime.KindDateTime bağlı olduğunu gösterir. Ayrıca 7 Kasım 2010 saat 02:00'de hem kaynak hem de hedef saat dilimlerinde saat dilimi ayarlaması gerçekleştiğinden yönteminin saat dilimi ayarlamalarını hesaba kattığını gösterir ConvertTime .

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 yöntemi, ConvertTime(DateTimeOffset, TimeZoneInfo) saat diliminde geçerli destinationTimeZone olan tüm ayarlama kurallarını uygular.

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

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

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

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

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

Dönüştürme işlemi, değerinden dateTime önceki DateTime.MinValue veya sonraki DateTime.MaxValuebir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTime.MaxValuedöndürürDateTime.MinValue.

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

Ayrıca bkz.

Şunlara uygulanır

ConvertTime(DateTimeOffset, TimeZoneInfo)

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

Bir 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

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

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

parametresinin destinationTimeZone değeridir null.

Örnekler

Aşağıdaki örnek, bir değer dizisini ABD ve Kanada'nın DateTimeOffset Doğu Saat dilimindeki saatlere dönüştürür. Saat dilimi ayarlaması ConvertTime 7 Kasım 2010 saat 02:00'de hem kaynak hem de hedef saat dilimlerinde gerçekleştiğinden yönteminin saat dilimi ayarlamalarını hesaba kattığı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 yöntemi, ConvertTime(DateTimeOffset, TimeZoneInfo) saat diliminde geçerli destinationTimeZone olan tüm ayarlama kurallarını uygular.

Bu aşırı yükleme, bir DateTimeOffset değeri ilk parametresi olarak kabul ederek yöntemin ConvertTime 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 zamanı temsil edemez.

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

Dönüştürme işlemi, değerinden dateTimeOffset önceki DateTimeOffset.MinValue veya sonraki DateTimeOffset.MaxValuebir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTimeOffset.MaxValuedöndürürDateTimeOffset.MinValue.

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

saat dilimi.dateTime

destinationTimeZone
TimeZoneInfo

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

Döndürülenler

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

Özel durumlar

Kind parametresinin dateTime özelliği şeklindedirLocal, ancak sourceTimeZone parametresi eşit Localdeğildir.

-veya-

Kind parametresinin dateTime özelliği şeklindedirUtc, ancak sourceTimeZone parametresi eşit Utcdeğildir.

-veya-

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

sourceTimeZone parametresidirnull.

-veya-

destinationTimeZone parametresidirnull.

Örnekler

Aşağıdaki örnekte Hawaii Standart Saati'nden yerel saate dönüştürmek için yönteminin kullanımı ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) 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 yöntemi, ConvertTime saat diliminde geçerli destinationTimeZone olan tüm ayarlama kurallarını uygular.

Parametrenin Kind özelliğinin dateTime değeri, aşağıdaki tabloda gösterildiği gibi parametresine karşılık sourceTimeZone 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 eşit TimeZoneInfo.Utcdeğildir. bir ArgumentExceptionoluşturur.
DateTimeKind.Local eşittir TimeZoneInfo.Local. dateTime Hedef saat diliminin saatine dönüştürür.
DateTimeKind.Local eşit TimeZoneInfo.Localdeğildir. bir ArgumentExceptionoluşturur.
DateTimeKind.Unspecified Herhangi biri. dateTime Hedef saat diliminin saatine dönüştürür.

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

Kind Döndürülen DateTime değerin ö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şkenidirTimeZoneInfo.Utc. DateTimeKind.Utc
destinationTimeZone bağımsız değişkenidirTimeZoneInfo.Local. DateTimeKind.Local
Diğer tüm tarih ve saat değerleri, kaynak saat dilimleri ve hedef saat dilimleri. DateTimeKind.Unspecified

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

Dönüştürme işlemi, değerinden dateTime önceki DateTime.MinValue veya sonraki DateTime.MaxValuebir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTime.MaxValuedöndürürDateTime.MinValue.

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

Ayrıca bkz.

Şunlara uygulanır