Tarih Formatı Dönüştürücü — DD.MM.YYYY, ISO 8601 ve Unix Timestamp Arasında Nasıl Dönüşüm Yapılır
Tarih yazım formatı, programlardaki en yaygın hata kaynaklarından biri ve belgelerdeki en sık karşılaşılan yanlış anlaşılma nedenidir. Neden? Farklı ülkeler ve sistemler farklı kurallar benimsemiştir; 03/04/2026 tarihi Amerikalıya 4 Mart, Avrupalıya ise 3 Nisan anlamına gelebilir.
Türkiye'de hangi tarih formatı kullanılır
Türkiye'deki resmi belge standardı DD.MM.YYYY formatı, nokta ile ayrılmış olarak kullanılır: 22.03.2026. Bu format devlet kurumlarında, bankalarda ve muhasebe yazılımlarında benimsenmiştir. Web geliştirme ve veritabanlarında ise ISO 8601 (YYYY-MM-DD) önerilir — kesin anlam taşır ve tüm modern DBMS'ler ile API'ler tarafından desteklenir.
Geliştiriciler neden Unix timestamp kullanır
Unix timestamp, 1 Ocak 1970 UTC'den bu yana geçen saniye sayısıdır. Dil, saat dilimi ve bölgeden bağımsız yalnızca bir tamsayıdır. Tarih aritmetiği kolaylığı sunar: 86400 ekleyin ve yarını elde edin; 3600 çıkarın ve bir saat önceyi bulun. Bu nedenle timestamp; loglar, veritabanları, önbellekler, görev kuyrukları ve kesin kronolojinin önemli olduğu her sistemde standarttır. JavaScript milisaniye kullanır (Date.now()); bu yüzden JS'den gelen timestamp'ı Unix saniyeye çevirmek için 1000'e bölmeniz gerekir.
Tarih formatının otomatik tespiti
Dönüştürücü formatı otomatik olarak belirlemeye çalışır. Mantık şu şekildedir: ilk bileşen 12'den büyükse bu gündür; format DD/MM veya DD.MM'dir. İlk bileşen dört basamaklıysa ISO 8601'dir. Ayırıcısız büyük bir sayı girilmişse Unix timestamp veya milisaniyedir. Ay adı varsa dil ve günün konumu belirlenir. Belirsiz durumlarda (örneğin 03/04/2026) dönüştürücü uyarı gösterir ve formatı elle belirtmenizi önerir.
Tarih formatlarıyla çalışırken yapılan yaygın hatalar
En sık karşılaşılan sorunlar: Amerikan formatındaki tarih içeren CSV dosyasını Türkçe programlara aktarırken ay ve günün yer değiştirmesi; Excel'in tarihlerini bölgesel ayarlara göre otomatik dönüştürmesi; API'nin saniye yerine milisaniye timestamp döndürmesi; tarihlerin sabit bir format olmaksızın metin olarak veritabanına kaydedilmesi. Tarihleri metin olarak saklamaktan kaçının — her zaman DATE/DATETIME türünü veya tam sayı alanında Unix timestamp kullanın.