TimeZoneInfo.ConvertTimeBySystemTimeZoneId Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 destinationTimeZone saate dönüştürür. |
DateTimeKind.Utc | Utc | Eşgüdümlü Evrensel Saati (UTC) içindeki destinationTimeZone saate dönüştürür. |
DateTimeKind.Unspecified | olduğu varsayılır Local. | yerel saati içindeki destinationTimeZone saate 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.Id değ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.Id değ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.