Yazılım konusunda küçük ve basit bir şey ancak bu formatın bilinmesi gerekir. Çünkü her projede kullanılan ama hakkında çok bilgi sahibi olunmayan bir konudur.
Domain sektöründe önemi çok büyük bir formattır. Çünkü timezone ve datetime değerleri domainin ne zaman sona ereceği ve yeniden ne zaman müsait duruma düşeceği konusunda bize bilgi verir. Fakat sunucudaki saat diliminizin tutarlı olması gerekir. Yaptığınız isteklerde önemli olacaktır.
RFC 3339 standardı nedir?
Bu standard IETF’in resmi bir dökümanıdır. Bu döküman ilgili komite tarafından hazırlanır ve inceleme sonucu karara vararak yayınlanır. Bunun üzerinde yorum yapılabilir veya bazı maddeler hala taslak da olabilir. Bu organizasyon çok sayıda RFC belgesi yayınlamıştır. Elbette tarih formatları konusunda da 3339 sayılı belgeyi yayınladılar. Buradan okuyabilirsiniz: https://www.ietf.org/rfc/rfc3339.txt
Genel olarak RFC belgesine bakarsanız DateTime biçimlendirmesini ele alır ve özetlemek gerekirse, önerilen DateTime biçiminin aşağıdaki örnekte nasıl olduğunu göreceksiniz.
2019-10-12T07:20:50.52Z
Tanıdık geldi mi?
Ancak bir sorun var. DateTime biçimlendirmesi için, ISO tarafından zaten standartlaştırılmış ISO 8601 standardı var ve bu RFC 3339’a çok benzer yapıda. Hatta RFC 3339 dökümanında 5.6. bölümde açıkça DateTime için ISO 8601 profilini takip ettiğini belirtir.

Yani aslında ISO 8601 arasında büyük farklar yok. Bu ikisini farklı kılan tek küçük şey tarih ve saat arasındaki “T” sözdizimidir. ISO 8601, tarih ve saati ayırmak için “T” karakterini kullanır. RFC 3339’da “T” karakterini yalnızca boşluk kullanarak değiştirebilirsiniz.
Örneğin:
-- Bu örnek ISO 8601 ve RFC 3339'da (T ile) kabul edilebilir
2025-06-12T10:09:45.12Z
# Bu örnek yalnızca RFC 3339'da (T olmadan) kabul edilir
2025-06-12 10:09:45.12Z
Yani genel olarak, hala ISO 8601 ile aynı.
Timezone (zaman dilimi) kavramına girelim.
Tarih konusunda çalışan çoğu kişi timezone formatını bilmiyor.
Örneğin şu tarihe dikkat edin: 2025-06-12T10:09:45.12Z
Şimdi bunu birisine sorarsak “olduğumuz bölgede” (örneğin Türkiye) olan tarih ve saati verdiğini dile getirecektir. “T”nin sol kısmındaki tarih, sağ kısmındaki ise zamanı diyecektir. Fakat siz de böyle düşünüyorsanız yanılgı içindesiniz.
Yukarıda verdiğimiz tarih formatı UTC zamanı ile 10:09:45.12’yi temsil eder. “Z” harfi “Zulu time” yani UTC anlamına gelir. Biraz daha açayım. RFC 3339’da, saat dilimini formattan da öğrenebiliriz. “Z” sözdiziminde görebilirsiniz. “Z” UTC+0 anlamına gelir. “Z”, GMT veya UTC ile aynı olan “Zulu” saat dilimini ifade eder. Yani DateTime’a Z koyarsak, saat diliminin UTC+0 olduğu anlamına gelir.
Dolayısıyla Türkiye’ye göre uyarlayacaksak UTC+3 timezone kullanılması gerektiği için 3 saat ileride olması gerekir.
Bu örneği arttıralım.
2025-06-12T10:09:45.12Z (UTC+0)
2025-06-12T16:02:50.27+07:00 (UTC+7)
2025-06-12T05:13:20.25-04:00 (UTC-4)
Kalın metne bakın. Saat diliminin DateTime biçiminde nasıl yazıldığını açıklayacaktır.
Bunun önemi sektöre göre değişir. Elbette bir blog sitesi ile bir domain backorder uygulaması aynı öneme sahip değildir. Hangi programlama dilinde çalışırsanız çalışın, bu tarih formatı yaptığınız işleme göre önem kazanır. Domain sektöründe çalıştığımızden ötürü bu formatlar ve timezone kavramı bizim için hayati öneme sahiptir.
Örneğin burada domain için kullanılan tarih formatını görebilirsiniz: https://datatracker.ietf.org/doc/html/rfc3731#section-2.4
Özet geçelim:
“Z”: Sıfır saat dilimini (UTC+0) ifade eder. Yani RFC 3339’da +00:00’a eşittir.
RFC 3339, ISO 8601 DateTime formatını takip ediyor. Tek farkı, RFC’nin “T”yi “boşluk” ile değiştirmemize izin vermesidir.
Yorum bırakın