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.
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.