TimeZoneInfo.ConvertTimeBySystemTimeZoneId Yöntem

Tanım

Bir saati, saat dilimi tanımlayıcısına göre başka bir saat dilimindeki saate dönüştürür.

Aşırı Yüklemeler

ConvertTimeBySystemTimeZoneId(DateTime, String)

Bir saati, saat dilimi tanımlayıcısına göre başka bir saat dilimindeki saate dönüştürür.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Bir saati, saat dilimi tanımlayıcısına göre başka bir saat dilimindeki saate dönüştürür.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Saat dilimi tanımlayıcılarını temel alarak bir saati bir saat diliminden diğerine dönüştürür.

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

Bir saati, saat dilimi tanımlayıcısına göre başka bir saat dilimindeki saate dönüştürür.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime

Parametreler

dateTime
DateTime

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

destinationTimeZoneId
String

Hedef saat diliminin tanımlayıcısı.

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

destinationTimeZoneId, null değeridir.

Saat dilimi tanımlayıcısı bulundu, ancak kayıt defteri verileri bozuk.

İşlem, saat dilimi bilgilerini içeren kayıt defteri anahtarından okumak için gereken izinlere sahip değil.

Tanımlayıcı destinationTimeZoneId yerel sistemde bulunamadı.

Açıklamalar

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

Bu aşırı yükleme, hedef saat dilimini ConvertTime(DateTime, TimeZoneInfo) bir nesne başvurusu yerine tanımlayıcısına göre belirtmenize izin vermesi dışında yöntemini çağırmayla büyük ölçüde aynıdır. Bu yöntem, bir saati ona karşılık gelen saat dilimi nesnesini almadan dönüştürmeniz gerektiğinde ve dönüştürülen saatin standart saat mi yoksa gün ışığından yararlanma saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

yöntemiConvertTimeBySystemTimeZoneId(DateTime, String), 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.Id. DateTimeKind.Utc
Başka destinationTimeZone bir değer. 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.

Bu yöntem, windows sistemlerindeki kayıt defterinden ve Linux ve macOS üzerindeki ICU Kitaplığı'ndan tanımlayıcısı parametresi tarafından destinationTimeZoneId belirtilen saat dilimiyle ilgili bilgileri alır. yöntemi kullanılarak CreateCustomTimeZone oluşturulan bir saat dilimi nesnesini alamaz. Parametre, destinationTimeZoneId başarılı bir eşleşmenin gerçekleşmesi için saat dilimi tanımlayıcısının uzunluğuna tam olarak karşılık gelmelidir, ancak büyük/küçük harfe duyarlı değildir; yani saat dilimi tanımlayıcılarıyla karşılaştırması destinationTimeZoneId büyük/küçük harfe duyarlı değildir.

Ayrıca bkz.

Şunlara uygulanır

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

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

Bir saati, saat dilimi tanımlayıcısına göre başka bir saat dilimindeki saate dönüştürür.

public:
 static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset

Parametreler

dateTimeOffset
DateTimeOffset

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

destinationTimeZoneId
String

Hedef saat diliminin tanımlayıcısı.

Döndürülenler

Hedef saat dilimindeki tarih ve saat.

Özel durumlar

destinationTimeZoneId, null değeridir.

Saat dilimi tanımlayıcısı bulundu, ancak kayıt defteri verileri bozuk.

İşlem, saat dilimi bilgilerini içeren kayıt defteri anahtarından okumak için gereken izinlere sahip değil.

Tanımlayıcı destinationTimeZoneId yerel sistemde bulunamadı.

Açıklamalar

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

Bu aşırı yükleme, hedef saat dilimini ConvertTime(DateTimeOffset, TimeZoneInfo) bir nesne başvurusu yerine tanımlayıcısına göre belirtmenize izin vermesi dışında yöntemini çağırmayla aynıdır. Bu yöntem, bir saati ona karşılık gelen saat dilimi nesnesini almadan dönüştürmeniz gerektiğinde ve dönüştürülen saatin standart saat mi yoksa gün ışığından yararlanma saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

dateTimeOffset parametresi bir tarih ve saati eşgüdümlü Evrensel Saat 'ten (UTC) uzaklığıyla birlikte temsil ettiğinden, belirsiz bir saati veya geçersiz bir saati temsil edemez.

Bu yöntem, tanımlayıcısı parametresi tarafından destinationTimeZoneId Belirtilen saat dilimini Windows sistemlerindeki kayıt defterinden ve Linux ve macOS üzerindeki ICU Kitaplığı'ndan alır. yöntemi kullanılarak CreateCustomTimeZone oluşturulan bir saat dilimi nesnesini alamaz. Parametre, destinationTimeZoneId başarılı bir eşleşmenin gerçekleşmesi için saat dilimi tanımlayıcısının uzunluğuna tam olarak karşılık gelmelidir, ancak büyük/küçük harfe duyarlı değildir; yani saat dilimi tanımlayıcılarıyla karşılaştırması destinationTimeZoneId büyük/küçük harfe duyarlı değildir.

Değeri hedef saat dilimindeki saate dönüştürürken dateTimeOffset yöntemi, 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

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

Saat dilimi tanımlayıcılarını temel alarak bir saati bir saat diliminden diğerine dönüştürür.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime

Parametreler

dateTime
DateTime

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

sourceTimeZoneId
String

Kaynak saat diliminin tanımlayıcısı.

destinationTimeZoneId
String

Hedef saat diliminin tanımlayıcısı.

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 kaynak saat dilimine karşılık gelmiyor.

-veya-

dateTime kaynak saat diliminde geçersiz bir saat.

sourceTimeZoneId, null değeridir.

-veya-

destinationTimeZoneId, null değeridir.

Saat dilimi tanımlayıcıları bulundu, ancak kayıt defteri verileri bozuk.

Kullanıcının saat dilimi verilerini tutan kayıt defteri anahtarlarından okumak için gereken izinleri yok.

Tanımlayıcı sourceTimeZoneId yerel sistemde bulunamadı.

-veya-

Tanımlayıcı destinationTimeZoneId yerel sistemde bulunamadı.

Örnekler

Aşağıdaki örnek, dünyanın sekiz şehrinde yerel sistem zamanına karşılık gelen saati görüntülemek için yöntemini kullanır TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) .

DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _ 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))

Açıklamalar

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

yöntemine TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) benzer olsa da, kaynak ve hedef saat dilimlerini nesneleri yerine TimeZoneInfo tanımlayıcılarını kullanarak belirtmek için kullanabilirsinizTimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String). Bu yöntem, bir saati ona karşılık gelen saat dilimi nesnesini almadan dönüştürmeniz gerektiğinde ve dönüştürülen saatin standart saat mi yoksa gün ışığından yararlanma saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

Bu yöntem, tanımlayıcıları ve destinationTimeZoneId parametreleri olan saat dilimlerini sourceTimeZoneId Windows sistemlerindeki kayıt defterinden ve Linux ve macOS üzerindeki ICU Kitaplığı'ndan alır. yöntemi kullanılarak CreateCustomTimeZone oluşturulan saat dilimi nesnelerini alamaz.

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

DateTime.Kind değeri sourceTimeZone değeri Yöntem davranışı
DateTimeKind.Utc eşittir TimeZoneInfo.Utc.Id. dateTime Hedef saat diliminin saatine dönüştürür.
DateTimeKind.Utc eşit TimeZoneInfo.Utc.Iddeğildir. bir ArgumentExceptionoluşturur.
DateTimeKind.Local eşittir TimeZoneInfo.Local.Id. dateTime Hedef saat diliminin saatine dönüştürür.
DateTimeKind.Local eşit TimeZoneInfo.Local.Iddeğildir. bir ArgumentExceptionoluşturur.
DateTimeKind.Unspecified Herhangi biri. dateTime Hedef saat diliminin saatine dönüştürür.

yöntemine yapılan çağrıları kullandığındanFindSystemTimeZoneById, ConvertTimeBySystemTimeZoneId yöntemi ve destinationTimeZoneIdöğesine karşılık gelen sourceTimeZoneId saat dilimlerini bulmak için büyük/küçük harfe duyarlı olmayan bir arama gerçekleştirir.

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.

Kind Döndürülen DateTime değerin özelliği, hedef saat dilimi Eşgüdümlü Evrensel Saat (UTC) olmadığı sürece olarak ayarlanır DateTimeKind.Unspecified ve bu durumda olarak ayarlanırDateTimeKind.Utc.

Ayrıca bkz.

Şunlara uygulanır