Tarihler, saatler ve saat dilimleri

.NET, temel DateTime yapıya ek olarak saat dilimleriyle çalışmayı destekleyen aşağıdaki sınıfları da sağlar:

  • TimeZone

    Sistemin yerel saat dilimi ve Eşgüdümlü Evrensel Saat (UTC) bölgesiyle çalışmak için bu sınıfı kullanın. sınıfının işlevselliği TimeZone büyük ölçüde sınıf tarafından TimeZoneInfo değiştirilir.

  • TimeZoneInfo

    Sistemde önceden tanımlanmış herhangi bir saat dilimiyle çalışmak, yeni saat dilimleri oluşturmak ve tarihleri ve saatleri bir saat diliminden diğerine kolayca dönüştürmek için bu sınıfı kullanın. Yeni geliştirme için sınıfı yerine sınıfını TimeZone kullanınTimeZoneInfo.

  • DateTimeOffset

    UTC'den uzaklığı (veya farkı) bilinen tarih ve saatlerle çalışmak için bu yapıyı kullanın. Yapı, DateTimeOffset bir tarih ve saat değerini utc'den bu saatin uzaklığıyla birleştirir. UTC ile ilişkisi nedeniyle, tek bir tarih ve saat değeri kesin olarak tek bir zaman noktasını tanımlar. Bu, bir değeri bir DateTimeOffset bilgisayardan başka bir DateTime değere daha taşınabilir hale getirir.

.NET 6'dan itibaren aşağıdaki türler kullanılabilir:

  • DateOnly

    Yalnızca tarihi temsil eden bir değerle çalışırken bu yapıyı kullanın. Tarih, günün başından sonuna kadar tüm günü temsil eder. DateOnly arasında bir aralığı 0001-01-019999-12-31vardır. Ayrıca bu tür, belirli bir saat olmadan ay, gün ve yıl birleşimini temsil eder. Daha önce kodunuzda saati dikkate almayan bir tarihi temsil eden bir tür kullandıysanız DateTime , bu türü yerine kullanın.

  • TimeOnly

    Tarih içermeyen bir saati temsil etmek için bu yapıyı kullanın. Saat, belirli olmayan bir günün saatlerini, dakikalarını ve saniyelerini temsil eder. TimeOnly için bir aralığı 00:00:00.0000000 vardır 23:59:59.9999999. Bu tür, bir saati temsil etmek için bu türleri kullandığınızda kodunuzdaki ve TimeSpan türlerini değiştirmek DateTime için kullanılabilir.

Sonraki bölümde, saat dilimleriyle çalışmak ve tarih ve saatleri bir saat diliminden diğerine dönüştürebilen saat dilimine duyarlı uygulamalar oluşturmak için ihtiyacınız olan bilgiler sağlanır.

Bu bölümde

Saat dilimine genel bakış
Saat dilimine duyarlı uygulamalar oluşturmayla ilgili terminolojiyi, kavramları ve sorunları açıklar.

DateTime, DateTimeOffset, TimeSpan ve TimeZoneInfo arasında seçim yapma
Tarih ve saat verileriyle çalışırken , DateTimeOffsetve TimeZoneInfo türlerinin DateTimene zaman kullanılacağını açıklar.

Yerel sistemde tanımlanan saat dilimlerini bulma
Yerel sistemde bulunan saat dilimlerinin nasıl numaralandırıldığı açıklanır.

Nasıl yapılır: Bir bilgisayarda mevcut saat dilimlerini numaralandırma
Bir bilgisayarın kayıt defterinde tanımlanan saat dilimlerini numaralandıran ve kullanıcıların listeden önceden tanımlanmış bir saat dilimi seçmesine olanak sağlayan örnekler sağlar.

Nasıl yapılır: Ön tanımlı UTC ve yerel saat dilimi nesnelerine erişim
Eşgüdümlü Evrensel Saat'e ve yerel saat dilimine erişmeyi açıklar.

Nasıl yapılır: Bir TimeZoneInfo nesnesinin örneğini oluşturma
Yerel sistem kayıt defterinden bir TimeZoneInfo nesnenin örneğini oluşturmayı açıklar.

Bir DateTimeOffset nesnesinin örneğini oluşturma
Bir DateTimeOffset nesnenin örneğini oluşturma yollarını ve bir DateTime değerin bir değere DateTimeOffset dönüştürülebileceği yöntemleri açıklar.

Nasıl yapılır: Ayarlama kuralları olmadan saat dilimleri oluşturma
Gün ışığından yararlanma saatine geçişi desteklemeyen özel bir saat diliminin nasıl oluşturulacağını açıklar.

Nasıl yapılır: Ayarlama kuralları ile saat dilimleri oluşturma
Gün ışığından yararlanma saatine bir veya daha fazla geçişi destekleyen özel bir saat diliminin nasıl oluşturulacağını açıklar.

Saat dilimlerini kaydetme ve geri yükleme
TimeZoneInfo Saat dilimi verilerini seri hale getirme ve seri durumdan çıkarma desteğini açıklar ve bu özelliklerin kullanılabilmesi için bazı senaryoları gösterir.

Nasıl yapılır: Saat dilimlerini eklenmiş kaynağa kaydetme
Özel saat dilimi oluşturma ve bilgilerini bir kaynak dosyasına kaydetmeyi açıklar.

Nasıl yapılır: Katıştırılmış bir kaynaktan saat dilimlerini geri yükleme
Eklenmiş bir kaynak dosyasına kaydedilmiş özel saat dilimlerinin nasıl örneklendiğini açıklar.

Tarih ve saatlerle aritmetik işlemler gerçekleştirme
Ve değerlerini ekleme, çıkarma ve karşılaştırma ile DateTimeDateTimeOffset ilgili sorunları açıklar.

Nasıl yapılır: Tarih ve saat aritmetiğinde saat dilimlerini kullanma
Saat dilimi ayarlama kurallarını yansıtan tarih ve saat aritmetiğinin nasıl gerçekleştirildiğini açıklar.

DateTime ve DateTimeOffset arasında dönüştürme
ve DateTimeOffset değerleri arasında DateTime dönüştürmeyi açıklar.

Saatleri saat dilimleri arasında dönüştürme
Zamanların bir saat diliminden diğerine nasıl dönüştürüldüğünü açıklar.

Nasıl yapılır: Belirsiz saatleri çözme
Belirsiz bir saati saat diliminin standart saatine eşleyerek nasıl çözümleyeceğinizi açıklar.

Nasıl yapılır: Kullanıcıların belirsiz saatleri çözmelerine izin verme
Bir kullanıcının belirsiz bir yerel saat ile Eşgüdümlü Evrensel Saat arasındaki eşlemeyi belirlemesine nasıl izin verileceğini açıklar.

Başvuru

System.TimeZoneInfo