TimeZoneInfo.ConvertTimeBySystemTimeZoneId Yöntem

Tanım

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

Name Description
ConvertTimeBySystemTimeZoneId(DateTime, String)

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

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Bir saati, saat diliminin 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ına göre bir saati bir saat diliminden diğerine dönüştürür.

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

Bir saati, saat diliminin 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'e eşittir.

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) 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 mı yoksa yaz saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

ConvertTimeBySystemTimeZoneId(DateTime, String) yöntemi, aşağıdaki tabloda gösterildiği gibi parametrenin dateTime özelliğinin değerinden Kind 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.

Condition Döndürülen Kind özellik değeri
destinationTimeZone şudur: 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 DateTime.MaxValuesonraki bir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTime.MinValuedöndürürDateTime.MaxValue.

Bu yöntem, tanımlayıcısı Windows sistemlerindeki kayıt defterinden ve Linux ve macOS üzerindeki destinationTimeZoneId parametresi tarafından 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öyle bir durumda karşılık gelmeyebilir; yani saat dilimi tanımlayıcılarıyla karşılaştırma 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
Kaynak:
TimeZoneInfo.cs
Kaynak:
TimeZoneInfo.cs

Bir saati, saat diliminin 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'e eşittir.

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 yöntemi çağırmak ConvertTime(DateTimeOffset, TimeZoneInfo) için aynıdır, ancak hedef saat dilimini bir nesne başvurusu yerine tanımlayıcısına göre belirtmenize olanak tanı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 mı yoksa yaz saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

Parametresi, dateTimeOffset 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ı Windows sistemlerindeki kayıt defterinden destinationTimeZoneId ve Linux ve macOS üzerindeki ICU Kitaplığı'ndan parametresi tarafından belirtilen saat dilimini 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öyle bir durumda karşılık gelmeyebilir; yani saat dilimi tanımlayıcılarıyla karşılaştırma 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 DateTimeOffset.MaxValuesonraki bir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTimeOffset.MinValuedöndürürDateTimeOffset.MaxValue.

Ayrıca bkz.

Şunlara uygulanır

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

Saat dilimi tanımlayıcılarına göre 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'e eşittir.

-veya-

destinationTimeZoneId, null'e eşittir.

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

Kullanıcının saat dilimi verilerini barındıran 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.ConvertTimeBySystemTimeZoneId(DateTime, String, String) tanımlayıcılarını kullanarak belirtmek için kullanabilirsinizTimeZoneInfo. 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 mı yoksa yaz saati mi olduğunu bilmeniz gerekmediğinde kullanışlıdır.

Bu yöntem, tanımlayıcıları ve sourceTimeZoneId parametreleri olan saat dilimlerini destinationTimeZoneId 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.

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

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 ArgumentExceptionatar.
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 ArgumentExceptionatar.
DateTimeKind.Unspecified Herhangi. dateTime Hedef saat diliminin saatine dönüştürür.

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

Parametresinin dateTime değeri kaynak saat dilimindeki 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